diff --git a/.github/workflows/analysis_workflow.yml b/.github/workflows/analysis_workflow.yml index d722232129..98f54c68c4 100644 --- a/.github/workflows/analysis_workflow.yml +++ b/.github/workflows/analysis_workflow.yml @@ -41,11 +41,11 @@ jobs: CC: gcc steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 50 - - name: Install sonar-scanner and build-wrapper - uses: sonarsource/sonarcloud-github-c-cpp@v2 + - name: Install build-wrapper + uses: SonarSource/sonarqube-scan-action/install-build-wrapper@v4 - name: Install docs env run: share/ci/scripts/linux/dnf/install_docs_env.sh - name: Install tests env @@ -78,7 +78,7 @@ jobs: - name: Generate code coverage report run: share/ci/scripts/linux/run_gcov.sh - name: Run sonar-scanner + uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9 # v7.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - run: sonar-scanner diff --git a/.github/workflows/ci_workflow.yml b/.github/workflows/ci_workflow.yml index 82a186d04d..2d6ba3a12e 100644 --- a/.github/workflows/ci_workflow.yml +++ b/.github/workflows/ci_workflow.yml @@ -61,12 +61,12 @@ jobs: strategy: fail-fast: true matrix: - build: [7, 8, 9, 10, 11, 12, 13, 14, 15] + build: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] include: # ------------------------------------------------------------------- - # VFX CY2025 (Python 3.11) + # VFX CY2026 (Python 3.13) # ------------------------------------------------------------------- - - build: 15 + - build: 12 build-type: Debug build-shared: 'ON' build-docs: 'OFF' @@ -77,9 +77,9 @@ jobs: cxx-compiler: clang++ cc-compiler: clang compiler-desc: Clang - vfx-cy: 2025 + vfx-cy: 2026 install-ext-packages: MISSING - - build: 14 + - build: 11 build-type: Release build-shared: 'ON' build-docs: 'ON' @@ -90,9 +90,9 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2025 + vfx-cy: 2026 install-ext-packages: ALL - - build: 13 + - build: 10 build-type: Release build-shared: 'OFF' build-docs: 'OFF' @@ -103,12 +103,12 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2025 + vfx-cy: 2026 install-ext-packages: ALL # ------------------------------------------------------------------- - # VFX CY2024 (Python 3.11) + # VFX CY2025 (Python 3.11) # ------------------------------------------------------------------- - - build: 12 + - build: 9 build-type: Debug build-shared: 'ON' build-docs: 'OFF' @@ -119,9 +119,9 @@ jobs: cxx-compiler: clang++ cc-compiler: clang compiler-desc: Clang - vfx-cy: 2024 + vfx-cy: 2025 install-ext-packages: MISSING - - build: 11 + - build: 8 build-type: Release build-shared: 'ON' build-docs: 'ON' @@ -132,9 +132,9 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2024 + vfx-cy: 2025 install-ext-packages: ALL - - build: 10 + - build: 7 build-type: Release build-shared: 'OFF' build-docs: 'OFF' @@ -145,12 +145,12 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2024 + vfx-cy: 2025 install-ext-packages: ALL # ------------------------------------------------------------------- - # VFX CY2023 (Python 3.10) + # VFX CY2024 (Python 3.11) # ------------------------------------------------------------------- - - build: 9 + - build: 6 build-type: Debug build-shared: 'ON' build-docs: 'OFF' @@ -161,9 +161,9 @@ jobs: cxx-compiler: clang++ cc-compiler: clang compiler-desc: Clang - vfx-cy: 2023 + vfx-cy: 2024 install-ext-packages: MISSING - - build: 8 + - build: 5 build-type: Release build-shared: 'ON' build-docs: 'ON' @@ -174,9 +174,9 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2023 + vfx-cy: 2024 install-ext-packages: ALL - - build: 7 + - build: 4 build-type: Release build-shared: 'OFF' build-docs: 'OFF' @@ -187,136 +187,24 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2023 + vfx-cy: 2024 install-ext-packages: ALL - env: - CXX: ${{ matrix.cxx-compiler }} - CC: ${{ matrix.cc-compiler }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Install docs env - run: share/ci/scripts/linux/dnf/install_docs_env.sh - if: matrix.build-docs == 'ON' - - name: Install tests env - run: share/ci/scripts/linux/dnf/install_tests_env.sh - - name: Create build directories - run: | - mkdir _install - mkdir _build - - name: Configure - run: | - cmake ../. \ - -DCMAKE_INSTALL_PREFIX=../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \ - -DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \ - -DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \ - -DOCIO_BUILD_OPENFX=${{ matrix.build-openfx }} \ - -DOCIO_BUILD_GPU_TESTS=OFF \ - -DOCIO_USE_SIMD=${{ matrix.use-simd }} \ - -DOCIO_USE_OIIO_FOR_APPS=${{ matrix.use-oiio }} \ - -DOCIO_INSTALL_EXT_PACKAGES=${{ matrix.install-ext-packages }} \ - -DOCIO_WARNING_AS_ERROR=ON \ - -DPython_EXECUTABLE=$(which python) - working-directory: _build - - name: Build - run: | - cmake --build . \ - --target install \ - --config ${{ matrix.build-type }} \ - -- -j$(nproc) - echo "ocio_build_path=$(pwd)" >> $GITHUB_ENV - working-directory: _build - - name: Test - run: ctest -V -C ${{ matrix.build-type }} - working-directory: _build - - name: Test CMake Consumer with shared OCIO - if: matrix.build-shared == 'ON' - run: | - cmake . \ - -DCMAKE_PREFIX_PATH=../../../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - cmake --build . \ - --config ${{ matrix.build-type }} - ./consumer - working-directory: _build/tests/cmake-consumer-dist - - name: Test CMake Consumer with static OCIO - if: matrix.build-shared == 'OFF' - # The yaml-cpp_VERSION is set below because Findyaml-cpp.cmake needs it but is unable to - # extract it from the headers, like the other modules. - # - # Prefer the static version of each dependencies by using _STATIC_LIBRARY. - # Alternatively, this can be done by setting _LIBRARY and _INCLUDE_DIR to - # the static version of the package. - run: | - cmake . \ - -DCMAKE_PREFIX_PATH=../../../_install \ - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} \ - -Dexpat_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -Dexpat_STATIC_LIBRARY=ON \ - -DImath_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -DImath_STATIC_LIBRARY=ON \ - -Dpystring_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -Dyaml-cpp_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -Dyaml-cpp_STATIC_LIBRARY=ON \ - -Dyaml-cpp_VERSION=0.8.0 \ - -DZLIB_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -DZLIB_STATIC_LIBRARY=ON \ - -Dminizip-ng_ROOT=${{ env.ocio_build_path }}/ext/dist \ - -Dminizip-ng_STATIC_LIBRARY=ON - cmake --build . \ - --config ${{ matrix.build-type }} - ./consumer - working-directory: _build/tests/cmake-consumer-dist - - # --------------------------------------------------------------------------- - # Linux (unsupported Node.js) - # --------------------------------------------------------------------------- - - linux-old: - name: 'Linux VFX CY${{ matrix.vfx-cy }} - <${{ matrix.compiler-desc }} - config=${{ matrix.build-type }}, - shared=${{ matrix.build-shared }}, - simd=${{ matrix.use-simd }}, - cxx=${{ matrix.cxx-standard }}, - docs=${{ matrix.build-docs }}, - oiio=${{ matrix.use-oiio }}>' - # Avoid duplicated checks when a pull_request is opened from a local branch. - if: | - github.event_name == 'push' || - github.event.pull_request.head.repo.full_name != github.repository - # GH-hosted VM. The build runs in ASWF 'container' defined below. - runs-on: ubuntu-latest - container: - # DockerHub: https://hub.docker.com/u/aswf - # Source: https://github.com/AcademySoftwareFoundation/aswf-docker - image: aswf/ci-ocio:${{ matrix.vfx-cy }} - volumes: - - /node20217:/node20217:rw,rshared - - /node20217:/__e/node20:ro,rshared - strategy: - fail-fast: true - matrix: - build: [1, 2, 3] - include: # ------------------------------------------------------------------- - # VFX CY2022 (Python 3.9) + # VFX CY2023 (Python 3.10) # ------------------------------------------------------------------- - - build: 1 + - build: 3 build-type: Debug build-shared: 'ON' build-docs: 'OFF' build-openfx: 'ON' use-simd: 'ON' use-oiio: 'ON' - cxx-standard: 17 + cxx-standard: 20 cxx-compiler: clang++ cc-compiler: clang compiler-desc: Clang - vfx-cy: 2022 - install-ext-packages: ALL + vfx-cy: 2023 + install-ext-packages: MISSING - build: 2 build-type: Release build-shared: 'ON' @@ -328,9 +216,9 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2022 - install-ext-packages: MISSING - - build: 3 + vfx-cy: 2023 + install-ext-packages: ALL + - build: 1 build-type: Release build-shared: 'OFF' build-docs: 'OFF' @@ -341,30 +229,14 @@ jobs: cxx-compiler: g++ cc-compiler: gcc compiler-desc: GCC - vfx-cy: 2022 + vfx-cy: 2023 install-ext-packages: ALL env: CXX: ${{ matrix.cxx-compiler }} CC: ${{ matrix.cc-compiler }} steps: - # Install nodejs 20 with glibc 2.17, to work around the face that the - # GHA runners are insisting on a node version that is too new for the - # glibc in the ASWF containers prior to 2023. - - name: Install nodejs20glibc2.17 - run: | - curl --silent https://unofficial-builds.nodejs.org/download/release/v20.18.1/node-v20.18.1-linux-x64-glibc-217.tar.xz | tar -xJ --strip-components 1 -C /node20217 -f - - # We would like to use harden-runner, but it flags too many false - # positives, every time we download a dependency. We should use it only - # on CI runs where we are producing artifacts that users might rely on. - # - name: Harden Runner - # uses: step-security/harden-runner@248ae51c2e8cc9622ecf50685c8bf7150c6e8813 # v1.4.3 - # with: - # egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 - # Note: can't upgrade to actions/checkout 4.0 because it needs newer - # glibc than these containers have. - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install docs env run: share/ci/scripts/linux/dnf/install_docs_env.sh if: matrix.build-docs == 'ON' @@ -445,7 +317,7 @@ jobs: # --------------------------------------------------------------------------- macos: - name: 'macOS 13 + name: 'macOS 15 intel `_ + + Community ========= +.. _meetings: + +Meetings +******** + +The OpenColorIO project has a Technical Steering Committee meeting on Zoom every two weeks +at noon LA time. The Zoom link is available from the `OCIO Calendar. `_ + +There is a general working group and "office hours" meeting once a month in the same +time slot. The Zoom link is available from the `OCIO Calendar. `_ + +These meetings are open to anyone! + + +.. _slack: + +Slack +***** + +Join us on the `ASWF Slack `_ in the channels +`#opencolorio` and `#opencolor-configs`. + + .. _mailing_lists: Mailing Lists ************* -There are two mailing lists associated with OpenColorIO: +Most of the conversation happens on Slack, but there are two mailing lists associated with OpenColorIO: `ocio-user `__\ ``@lists.aswf.io`` For end users (artists, often) interested in OCIO profile design, @@ -57,14 +90,40 @@ There are two mailing lists associated with OpenColorIO: `ocio-dev `__\ ``@lists.aswf.io`` For developers interested OCIO APIs, code integration, compilation, etc. -.. _slack: -Slack -***** +Related Projects +================ + +.. _cif: + +ASWF Color Interop Forum +************************ + +The CIF is an open, cross-project forum for discussing color interoperability across varying workflows +and standards. The aim isn’t necessarily to develop new standards, but rather to make recommendations +for how to improve color accuracy through the existing infrastructure. + +Recommendations are published on the `ColorInterop GitHub. `_ + +The forum has a monthly Zoom meeting on Mondays at noon LA time, as posted on the +`OCIO Calendar. `_ + +Discussion happens in the `#color-interop-forum` channel on the ASWF Slack. + + +.. _nano: + +NanoColor +********* + +NanoColor is a collaboration between OpenUSD, MaterialX, and OpenColorIO to ensure that there +is interoperable and flexible color management among those projects and related projects in +the computer graphics world. -There is an OpenColorIO Slack workspace at: ``_. +The working group has a Zoom meeting every two weeks on Mondays at 1:00 pm LA time, as posted on the +`OCIO Calendar. `_ -New users may join the workspace from `here `_. +Discussion happens in the `#nanocolor` channel on the ASWF Slack. Search diff --git a/docs/quick_start/installation.rst b/docs/quick_start/installation.rst index d8d208e05c..28a61a5cbb 100644 --- a/docs/quick_start/installation.rst +++ b/docs/quick_start/installation.rst @@ -142,8 +142,8 @@ Optional OCIO functionality also depends on: - Doxygen (for the docs) - NumPy (optionally used in the Python test suite) - \*pybind11 >= 2.9.2 (for the Python binding) -- Python >= 3.9 (for the Python binding only) -- Python 3.9+ (for building the documentation) +- Python >= 3.10 (for the Python binding only) +- Python 3.10+ (for building the documentation) Building the documentation requires the following packages, available via PyPI: diff --git a/docs/requirements.txt b/docs/requirements.txt index 334e782153..c212eeb4c4 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,7 +1,4 @@ -# Fix an issue with the OCIO's Linux container images that have OpenSSL under 1.1.1. -# If the container images are updated with OpenSSL 1.1.1+, the restriction on -# urllib3 version <2 can be removed. -urllib3<2 +urllib3<3 # The builds for documentation fails with <0.18.0 docutils>=0.18.1 sphinx<=7.1.2 @@ -11,4 +8,4 @@ recommonmark sphinx-press-theme sphinx-tabs breathe -setuptools<68.0.0 +setuptools<83.0.0 diff --git a/include/OpenColorIO/OpenColorTypes.h b/include/OpenColorIO/OpenColorTypes.h index 8fa5833749..39a181c467 100644 --- a/include/OpenColorIO/OpenColorTypes.h +++ b/include/OpenColorIO/OpenColorTypes.h @@ -977,6 +977,13 @@ extern OCIOEXPORT const char * METADATA_NAME; */ extern OCIOEXPORT const char * METADATA_ID; +/** + * An ID when stored as an XML element rather than as an attribute. This is the + * preferred mechanism in the SMPTE ST 2036-1 version of the CLF format. If + * present, it is only available from the top-level FormatMetadata. + */ + extern OCIOEXPORT const char * METADATA_ID_ELEMENT; + /*!rst:: Caches ****** diff --git a/pyproject.toml b/pyproject.toml index 23631c12bc..7c49ae11a3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,12 @@ [build-system] requires = [ - "setuptools>=42", + "setuptools>=82.0.1", "wheel", "cmake>=3.14", "ninja; sys_platform != 'win32' and platform_machine != 'arm64'", # Documentation requirements (see docs/requirements.txt for details) - "urllib3<2", - "docutils>=0.18.1", + "urllib3<3", + "docutils>=0.22.4", "sphinx<=7.1.2", "six", "testresources", diff --git a/setup.cfg b/setup.cfg index aa1015183a..a34fc55490 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,7 +7,6 @@ classifiers = Topic :: Software Development :: Libraries :: Python Modules Programming Language :: C++ Programming Language :: Python :: 3 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 @@ -21,7 +20,7 @@ license_files = LICENSE long_description = file: README.md, LICENSE long_description_content_type = text/markdown name = opencolorio -python_requires = '>=3.9' +python_requires = '>=3.10' url = https://opencolorio.org/ [options] diff --git a/share/cmake/modules/install/InstallZLIB.cmake b/share/cmake/modules/install/InstallZLIB.cmake index 6cfca2800e..96f09bb09f 100644 --- a/share/cmake/modules/install/InstallZLIB.cmake +++ b/share/cmake/modules/install/InstallZLIB.cmake @@ -53,8 +53,8 @@ if(NOT ZLIB_FOUND AND OCIO_INSTALL_EXT_PACKAGES AND NOT OCIO_INSTALL_EXT_PACKAGE set(ZLIB_INCLUDE_DIRS "${_EXT_DIST_ROOT}/${CMAKE_INSTALL_INCLUDEDIR}") - # Windows need the "d" suffix at the end. - if(WIN32 AND BUILD_TYPE_DEBUG) + # Windows need the "d" suffix at the end (only for MSVC). + if(MSVC AND BUILD_TYPE_DEBUG) set(_ZLIB_LIB_SUFFIX "d") endif() diff --git a/share/cmake/modules/install/Installexpat.cmake b/share/cmake/modules/install/Installexpat.cmake index cda465312e..ee750a1f41 100644 --- a/share/cmake/modules/install/Installexpat.cmake +++ b/share/cmake/modules/install/Installexpat.cmake @@ -46,9 +46,11 @@ if(NOT expat_FOUND AND OCIO_INSTALL_EXT_PACKAGES AND NOT OCIO_INSTALL_EXT_PACKAG if(BUILD_TYPE_DEBUG) set(_expat_LIB_SUFFIX "d") endif() - # Static Linking, Multi-threaded Dll naming (>=2.2.8): - # https://github.com/libexpat/libexpat/blob/R_2_2_8/expat/win32/README.txt - set(_expat_LIB_SUFFIX "${_expat_LIB_SUFFIX}MD") + if (MSVC) + # Static Linking, Multi-threaded Dll naming (>=2.2.8): + # https://github.com/libexpat/libexpat/blob/R_2_2_8/expat/win32/README.txt + set(_expat_LIB_SUFFIX "${_expat_LIB_SUFFIX}MD") + endif() endif() # Expat use a hardcoded lib prefix instead of CMAKE_STATIC_LIBRARY_PREFIX diff --git a/share/cmake/utils/DebuggerEnvironment.cmake b/share/cmake/utils/DebuggerEnvironment.cmake new file mode 100644 index 0000000000..2b47980976 --- /dev/null +++ b/share/cmake/utils/DebuggerEnvironment.cmake @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright Contributors to the OpenColorIO Project. + + +############################################################################### +# Define a function to set debugger environment so that the run time +# dependencies can be located by the debugger. + +function(set_debugger_env target_name) + cmake_parse_arguments(ARG "NEEDS_GL" "" "" ${ARGN}) + + if(NOT TARGET ${target_name}) + message(FATAL_ERROR "set_debugger_env: '${target_name}' is not a CMake target") + endif() + + # Set the Paths for Visual Studio IDE Debugger. + if(MSVC) + if(OCIO_GL_ENABLED AND ARG_NEEDS_GL) + # Add folders for glut and glew DLLs. + set(extra_dirs "${GLUT_INCLUDE_DIR}/../bin;${GLEW_INCLUDE_DIRS}/../bin") + endif() + + set_property(TARGET ${target_name} PROPERTY + VS_DEBUGGER_ENVIRONMENT "PATH=$,;>;${extra_dirs};%PATH%" + ) + endif() +endfunction() \ No newline at end of file diff --git a/src/OpenColorIO/CMakeLists.txt b/src/OpenColorIO/CMakeLists.txt index f56b6219c3..ff20c1a6c7 100755 --- a/src/OpenColorIO/CMakeLists.txt +++ b/src/OpenColorIO/CMakeLists.txt @@ -235,6 +235,9 @@ configure_file(CPUInfoConfig.h.in CPUInfoConfig.h) add_library(OpenColorIO ${SOURCES}) +# Group the source files to replicate the source tree structure in the IDEs. +source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${SOURCES}) + # Require at least a C++11 compatible compiler for consumer projects. target_compile_features(OpenColorIO PUBLIC cxx_std_11 diff --git a/src/OpenColorIO/Config.cpp b/src/OpenColorIO/Config.cpp index 2ac0572443..d4d5fbe7fa 100644 --- a/src/OpenColorIO/Config.cpp +++ b/src/OpenColorIO/Config.cpp @@ -798,7 +798,7 @@ class Config::Impl } const ViewVec & views = searchShared ? m_sharedViews : iter->second.m_views; - const auto & viewIt = FindView(views, view); + const auto viewIt = FindView(views, view); if (viewIt != views.end()) { diff --git a/src/OpenColorIO/GpuShaderUtils.cpp b/src/OpenColorIO/GpuShaderUtils.cpp index fa1ca43fb2..3f8e158e48 100644 --- a/src/OpenColorIO/GpuShaderUtils.cpp +++ b/src/OpenColorIO/GpuShaderUtils.cpp @@ -482,7 +482,8 @@ std::string GpuShaderText::declareVarStr(const std::string & name, float v) std::string GpuShaderText::vectorCompareExpression(const std::string& lhs, const std::string& op, const std::string& rhs) { std::string ret = lhs + " " + op + " " + rhs; - if(m_lang == GPU_LANGUAGE_MSL_2_0) + // MSL and HLSL do not allow vector bool in if-conditions: wrap with any(). + if(m_lang == GPU_LANGUAGE_MSL_2_0 || m_lang == GPU_LANGUAGE_HLSL_SM_5_0) { ret = "any( " + ret + " )"; } diff --git a/src/OpenColorIO/HashUtils.cpp b/src/OpenColorIO/HashUtils.cpp index 15f775faa0..627ab20661 100644 --- a/src/OpenColorIO/HashUtils.cpp +++ b/src/OpenColorIO/HashUtils.cpp @@ -2,6 +2,7 @@ // Copyright Contributors to the OpenColorIO Project. #include +#include #include @@ -25,4 +26,27 @@ std::string CacheIDHash(const char * array, std::size_t size) return oss.str(); } +std::string CacheIDHashUUID(const char * array, std::size_t size) +{ + XXH128_hash_t hash = XXH3_128bits(array, size); + + // Make sure that we have full, zero-padded 32 chars. + std::stringstream oss; + oss << std::hex << std::setfill('0'); + oss << std::setw(16) << hash.high64; + oss << std::setw(16) << hash.low64; + + // Format into 8-4-4-4-12 form. + std::string hex = oss.str(); + std::string uuid = + hex.substr(0, 8) + "-" + + hex.substr(8, 4) + "-" + + hex.substr(12, 4) + "-" + + hex.substr(16, 4) + "-" + + hex.substr(20, 12); + + return uuid; +} + + } // namespace OCIO_NAMESPACE diff --git a/src/OpenColorIO/HashUtils.h b/src/OpenColorIO/HashUtils.h index 66c3b6e3fd..cf53ab1cba 100644 --- a/src/OpenColorIO/HashUtils.h +++ b/src/OpenColorIO/HashUtils.h @@ -14,6 +14,10 @@ namespace OCIO_NAMESPACE std::string CacheIDHash(const char * array, std::size_t size); +// Generates 128 bit UUID in the form of 8-4-4-4-12 using the hash of the passed +// string. +std::string CacheIDHashUUID(const char * array, std::size_t size); + } // namespace OCIO_NAMESPACE #endif diff --git a/src/OpenColorIO/ImagePacking.cpp b/src/OpenColorIO/ImagePacking.cpp index 3c24c9a58f..4fb185ec2a 100644 --- a/src/OpenColorIO/ImagePacking.cpp +++ b/src/OpenColorIO/ImagePacking.cpp @@ -23,7 +23,8 @@ void Generic::PackRGBAFromImageDesc(const GenericImageDesc & srcImg, Type * inBitDepthBuffer, float * outputBuffer, int outputBufferSize, - long imagePixelStartIndex) + long imagePixelStartIndex, + BitDepth inputBitDepth) { if(outputBuffer==nullptr) { @@ -62,15 +63,21 @@ void Generic::PackRGBAFromImageDesc(const GenericImageDesc & srcImg, aPtr = reinterpret_cast(aRow + xStrideBytes*xIndex); } + float maxValue = static_cast(GetBitDepthMaxValue(inputBitDepth)); + if (maxValue <= 0) + { + throw Exception("Invalid bit depth max value."); + } + // Process one single, complete scanline. int pixelsCopied = 0; while(pixelsCopied < outputBufferSize) - { + { // Reorder channels from arbitrary channel ordering to RGBA 32-bit float. inBitDepthBuffer[4*pixelsCopied+0] = *rPtr; inBitDepthBuffer[4*pixelsCopied+1] = *gPtr; inBitDepthBuffer[4*pixelsCopied+2] = *bPtr; - inBitDepthBuffer[4*pixelsCopied+3] = aPtr ? *aPtr : (Type)0.0f; + inBitDepthBuffer[4*pixelsCopied+3] = aPtr ? *aPtr : (Type)(maxValue); pixelsCopied++; xIndex++; @@ -93,7 +100,8 @@ void Generic::PackRGBAFromImageDesc(const GenericImageDesc & srcImg, float * /*inBitDepthBuffer*/, float * outputBuffer, int outputBufferSize, - long imagePixelStartIndex) + long imagePixelStartIndex, + BitDepth /*inputBitDepth*/) { if(outputBuffer==nullptr) { @@ -140,7 +148,7 @@ void Generic::PackRGBAFromImageDesc(const GenericImageDesc & srcImg, outputBuffer[4*pixelsCopied+0] = *rPtr; outputBuffer[4*pixelsCopied+1] = *gPtr; outputBuffer[4*pixelsCopied+2] = *bPtr; - outputBuffer[4*pixelsCopied+3] = aPtr ? *aPtr : 0.0f; + outputBuffer[4*pixelsCopied+3] = aPtr ? *aPtr : 1.0f; pixelsCopied++; xIndex++; diff --git a/src/OpenColorIO/ImagePacking.h b/src/OpenColorIO/ImagePacking.h index 578bb997ef..42c3db8dc4 100644 --- a/src/OpenColorIO/ImagePacking.h +++ b/src/OpenColorIO/ImagePacking.h @@ -53,7 +53,8 @@ struct Generic Type * inBitDepthBuffer, float * outputBuffer, int outputBufferSize, - long imagePixelStartIndex); + long imagePixelStartIndex, + BitDepth inputBitDepth); static void UnpackRGBAToImageDesc(GenericImageDesc & dstImg, float * inputBuffer, diff --git a/src/OpenColorIO/Processor.cpp b/src/OpenColorIO/Processor.cpp index dab0287dfb..83b8468b75 100755 --- a/src/OpenColorIO/Processor.cpp +++ b/src/OpenColorIO/Processor.cpp @@ -330,15 +330,9 @@ const char * Processor::Impl::getCacheID() const if(!m_cacheID.empty()) return m_cacheID.c_str(); - if(m_ops.empty()) - { - m_cacheID = ""; - } - else - { - const std::string fullstr = m_ops.getCacheID(); - m_cacheID = CacheIDHash(fullstr.c_str(), fullstr.size()); - } + // Note: empty ops vector will also create a UUID. + const std::string fullstr = m_ops.getCacheID(); + m_cacheID = CacheIDHashUUID(fullstr.c_str(), fullstr.size()); return m_cacheID.c_str(); } diff --git a/src/OpenColorIO/ScanlineHelper.cpp b/src/OpenColorIO/ScanlineHelper.cpp index 59a0020a5e..aaa985fa35 100644 --- a/src/OpenColorIO/ScanlineHelper.cpp +++ b/src/OpenColorIO/ScanlineHelper.cpp @@ -143,7 +143,8 @@ void GenericScanlineHelper::prepRGBAScanline(float** buffer, lo &m_inBitDepthBuffer[0], *buffer, m_dstImg.m_width, - m_yIndex * m_dstImg.m_width); + m_yIndex * m_dstImg.m_width, + m_inputBitDepth); } numPixels = m_dstImg.m_width; diff --git a/src/OpenColorIO/fileformats/FileFormatCTF.cpp b/src/OpenColorIO/fileformats/FileFormatCTF.cpp index b1f0393038..d4a0e7e42e 100644 --- a/src/OpenColorIO/fileformats/FileFormatCTF.cpp +++ b/src/OpenColorIO/fileformats/FileFormatCTF.cpp @@ -28,6 +28,7 @@ #include "TransformBuilder.h" #include "transforms/FileTransform.h" #include "utils/StringUtils.h" +#include "HashUtils.h" /* @@ -40,7 +41,14 @@ to agree on a common LUT format for this industry. Support for CLF is a requirement in order to obtain ACES Logo Certification from the Academy (in several product categories). CLF files are expressed using XML. The spec, AMPAS S-2014-006, is available from: - + + +In 2026, SMPTE will publish ST 2136-1 to standardize the Academy/ASC format. +The main change is how versions are declared. The SMPTE spec sets the xmlns +attribute of the ProcessList to a specific value rather than using the +compCLFversion attribute. Since the differences are so minimal, OCIO writes +both the xmlns and compCLFversion in order to maximize compatibility with +different readers. The Autodesk CTF format is based on the Academy/ASC CLF format and adds several operators that allow higher quality results by avoiding the need to bake @@ -146,27 +154,36 @@ class LocalFileFormat : public FileFormat void LocalFileFormat::getFormatInfo(FormatInfoVec & formatInfoVec) const { - FormatInfo info; - info.name = FILEFORMAT_CLF; - info.extension = "clf"; - info.capabilities = FormatCapabilityFlags(FORMAT_CAPABILITY_READ | - FORMAT_CAPABILITY_BAKE | - FORMAT_CAPABILITY_WRITE); - info.bake_capabilities = FormatBakeFlags(FORMAT_BAKE_CAPABILITY_3DLUT | - FORMAT_BAKE_CAPABILITY_1DLUT | - FORMAT_BAKE_CAPABILITY_1D_3D_LUT); - formatInfoVec.push_back(info); - - FormatInfo info2; - info2.name = FILEFORMAT_CTF; - info2.extension = "ctf"; - info2.capabilities = FormatCapabilityFlags(FORMAT_CAPABILITY_READ | - FORMAT_CAPABILITY_BAKE | - FORMAT_CAPABILITY_WRITE); - info.bake_capabilities = FormatBakeFlags(FORMAT_BAKE_CAPABILITY_3DLUT | - FORMAT_BAKE_CAPABILITY_1DLUT | - FORMAT_BAKE_CAPABILITY_1D_3D_LUT); - formatInfoVec.push_back(info2); + // CLF - Academy/ASC & SMPTE uses the same format + { + FormatInfo info; + info.name = FILEFORMAT_CLF; + info.extension = "clf"; + info.capabilities = FormatCapabilityFlags(FORMAT_CAPABILITY_READ | + FORMAT_CAPABILITY_BAKE | + FORMAT_CAPABILITY_WRITE); + + info.bake_capabilities = FormatBakeFlags( FORMAT_BAKE_CAPABILITY_3DLUT | + FORMAT_BAKE_CAPABILITY_1DLUT | + FORMAT_BAKE_CAPABILITY_1D_3D_LUT); + formatInfoVec.push_back(info); + } + + // CTF + { + FormatInfo info; + info.name = FILEFORMAT_CTF; + info.extension = "ctf"; + info.capabilities = FormatCapabilityFlags(FORMAT_CAPABILITY_READ | + FORMAT_CAPABILITY_BAKE | + FORMAT_CAPABILITY_WRITE); + + info.bake_capabilities = FormatBakeFlags( FORMAT_BAKE_CAPABILITY_3DLUT | + FORMAT_BAKE_CAPABILITY_1DLUT | + FORMAT_BAKE_CAPABILITY_1D_3D_LUT); + + formatInfoVec.push_back(info); + } } class XMLParserHelper @@ -227,7 +244,7 @@ class XMLParserHelper throwMessage(error); } - if (pT->getOps().empty()) + if (pT->getOpDataVec().empty()) { static const std::string error( "CTF/CLF parsing error: No color operator in file."); @@ -420,7 +437,7 @@ class XMLParserHelper // Start the parsing of one element. static void StartElementHandler(void * userData, - const XML_Char * name, + const XML_Char * name_full, const XML_Char ** atts) { static const std::vector rangeSubElements = { @@ -478,7 +495,7 @@ class XMLParserHelper XMLParserHelper * pImpl = (XMLParserHelper*)userData; - if (!pImpl || !name || !*name) + if (!pImpl || !name_full || !*name_full) { if (!pImpl) { @@ -490,6 +507,14 @@ class XMLParserHelper } } + // Strip the name spaces + const char *name = name_full; + if (pImpl->m_keepNamespaces <= 0) + { + name = strrchr(name_full, ':'); + name = name ? (name+1) : name_full; + } + if (!pImpl->m_elms.empty()) { // Check if we are still processing a metadata structure. @@ -711,12 +736,22 @@ class XMLParserHelper SupportedElement(name, pElt, METADATA_VIEWING_DESCRIPTION, TAG_CDL, recognizedName)) { pImpl->m_elms.push_back( - std::make_shared( + std::make_shared( + name, + pContainer, + pImpl->getXmLineNumber(), + pImpl->getXmlFilename())); + } + else if (SupportedElement(name, pElt, TAG_ID, "", recognizedName)) + { + pImpl->m_elms.push_back( + std::make_shared( name, pContainer, pImpl->getXmLineNumber(), pImpl->getXmlFilename())); } + // Dynamic Property is valid under any operator parent. First // test if the tag is supported to set the recognizedName // accordingly, without testing for parents. Test for the @@ -790,6 +825,8 @@ class XMLParserHelper else if (SupportedElement(name, pElt, TAG_INFO, TAG_PROCESS_LIST, recognizedName)) { + pImpl->m_keepNamespaces++; + pImpl->m_elms.push_back( std::make_shared( name, @@ -801,7 +838,7 @@ class XMLParserHelper TAG_PROCESS_LIST, recognizedName)) { pImpl->m_elms.push_back( - std::make_shared( + std::make_shared( name, pContainer, pImpl->getXmLineNumber(), @@ -838,7 +875,7 @@ class XMLParserHelper TAG_PROCESS_LIST, recognizedName)) { pImpl->m_elms.push_back( - std::make_shared( + std::make_shared( name, pContainer, pImpl->getXmLineNumber(), @@ -992,14 +1029,22 @@ class XMLParserHelper // End the parsing of one element. static void EndElementHandler(void * userData, - const XML_Char * name) + const XML_Char * name_full) { XMLParserHelper * pImpl = (XMLParserHelper*)userData; - if (!pImpl || !name || !*name) + if (!pImpl || !name_full || !*name_full) { throw Exception("CTF/CLF internal parsing error."); } + // Strip the name spaces + const char *name = name_full; + if (pImpl->m_keepNamespaces <= 0) + { + name = strrchr(name_full, ':'); + name = name ? (name+1) : name_full; + } + // Is the expected element present? auto pElt(pImpl->m_elms.back()); if (!pElt.get()) @@ -1054,6 +1099,12 @@ class XMLParserHelper } } + // Exiting the info element; decrease keep namespace counter. + if(std::dynamic_pointer_cast(pElt)) + { + pImpl->m_keepNamespaces--; + } + pElt->end(); } @@ -1086,15 +1137,29 @@ class XMLParserHelper pImpl->throwMessage(oss.str()); } - auto pDescriptionElt = - std::dynamic_pointer_cast(pElt); - if (pDescriptionElt) + // TODO: Fix this special case handling where description elements want + // leading and trailing white space retained. + if (auto pDescriptionElt = std::dynamic_pointer_cast(pElt)) { pDescriptionElt->setRawData(s, len, pImpl->getXmLineNumber()); } + if (auto pDescElt = std::dynamic_pointer_cast(pElt)) + { + pDescElt->setRawData(s, len, pImpl->getXmLineNumber()); + } else { // Strip white spaces. + + // TODO: Need to change this. CharacterDataHandler() may be called + // multiple times for a single element, and we may end up stripping + // white spaces that are actually part of the data. Other parts of + // the code already anticipate partial text reception, this part is + // not handling that possibility. White space removal should be done by + // the element handlers at the end. Also the special case handling + // doesn't belong here. This part is dispatching the strings to the + // elements, it shouldn't know the identities of the handlers and + // should not change the behavior accordingly. size_t start = 0; size_t end = len; FindSubString(s, len, start, end); @@ -1160,6 +1225,7 @@ class XMLParserHelper bool m_isCLF; XmlReaderElementStack m_elms; // Parsing stack CTFReaderTransformPtr m_transform; + int m_keepNamespaces = 0; // if >0, name spaces will be preserved }; @@ -1167,8 +1233,10 @@ bool isLoadableCTF(std::istream & istream) { std::streampos curPos = istream.tellg(); - const unsigned limit(5 * 1024); // 5 kilobytes. - const char *pattern = "m_transform->toMetadata(processorData); // Resolve reference path using context and load referenced files. - const ConstOpDataVec & opDataVec = cachedFile->m_transform->getOps(); + const ConstOpDataVec & opDataVec = cachedFile->m_transform->getOpDataVec(); // Try to use the FileTransform interpolation for any Lut1D or Lut3D that does not specify // an interpolation in the CTF itself. If the interpolation can not be used, ignore it. @@ -1558,14 +1633,19 @@ void LocalFileFormat::write(const ConstConfigRcPtr & config, const std::string & formatName, std::ostream & ostream) const { - bool isCLF = false; + + TransformWriter::SubFormat subFormat{TransformWriter::SubFormat::FORMAT_UNKNOWN}; + if (Platform::Strcasecmp(formatName.c_str(), FILEFORMAT_CLF) == 0) { - isCLF = true; - } - else if (Platform::Strcasecmp(formatName.c_str(), FILEFORMAT_CTF) != 0) + subFormat = TransformWriter::SubFormat::FORMAT_CLF; + } + else if (Platform::Strcasecmp(formatName.c_str(), FILEFORMAT_CTF) == 0) + { + subFormat = TransformWriter::SubFormat::FORMAT_CTF; + } + else { - // Neither a clf nor a ctf. std::ostringstream os; os << "Error: CLF/CTF writer does not also write format " << formatName << "."; throw Exception(os.str().c_str()); @@ -1583,11 +1663,21 @@ void LocalFileFormat::write(const ConstConfigRcPtr & config, const FormatMetadataImpl & metadata = group.getFormatMetadata(); CTFReaderTransformPtr transform = std::make_shared(ops, metadata); + // It it doesn't have an id, create one based on the op list. + if (transform->getID().empty()) + { + std::string opId = ops.getCacheID(); + + std::ostringstream ss; + ss << "urn:uuid:" << CacheIDHashUUID(opId.c_str(), opId.size()); + transform->setID(ss.str().c_str()); + } + // Write XML Header. ostream << "" << std::endl; XmlFormatter fmt(ostream); - TransformWriter writer(fmt, transform, isCLF); + TransformWriter writer(fmt, transform, subFormat); writer.write(); } diff --git a/src/OpenColorIO/fileformats/FormatMetadata.cpp b/src/OpenColorIO/fileformats/FormatMetadata.cpp index 8b5fe1cfad..345cb1bf38 100644 --- a/src/OpenColorIO/fileformats/FormatMetadata.cpp +++ b/src/OpenColorIO/fileformats/FormatMetadata.cpp @@ -19,6 +19,9 @@ const char * METADATA_INFO = "Info"; const char * METADATA_INPUT_DESCRIPTOR = "InputDescriptor"; const char * METADATA_OUTPUT_DESCRIPTOR = "OutputDescriptor"; +// CLF XML elements described in ST2136-1 +const char * METADATA_ID_ELEMENT = "Id"; + // NAME and ID are CLF XML attributes described in S-2014-006. const char * METADATA_NAME = "name"; const char * METADATA_ID = "id"; @@ -216,6 +219,20 @@ int FormatMetadataImpl::getFirstChildIndex(const std::string & name) const noexc return -1; } +FormatMetadataImpl::Elements FormatMetadataImpl::getChildrenElements( + const std::string & name) const noexcept +{ + Elements subElements; + for (auto & it : m_elements) + { + if (0 == Platform::Strcasecmp(name.c_str(), it.getElementName())) + { + subElements.push_back(it); + } + } + return subElements; +} + int FormatMetadataImpl::findNamedAttribute(const std::string & name) const noexcept { int i = 0; diff --git a/src/OpenColorIO/fileformats/FormatMetadata.h b/src/OpenColorIO/fileformats/FormatMetadata.h index 35c8cb2e01..6f26f2afb2 100644 --- a/src/OpenColorIO/fileformats/FormatMetadata.h +++ b/src/OpenColorIO/fileformats/FormatMetadata.h @@ -55,6 +55,9 @@ class FormatMetadataImpl : public FormatMetadata // Retrieve the vector of elements under the metadata. Elements & getChildrenElements() noexcept; const Elements & getChildrenElements() const noexcept; + + // Returns all of the children elements matching the given name. + Elements getChildrenElements(const std::string & name) const noexcept; // Merge rhs into this. Expected to be used on root FormatMetadataImpl for ops. void combine(const FormatMetadataImpl & rhs); diff --git a/src/OpenColorIO/fileformats/cdl/CDLParser.h b/src/OpenColorIO/fileformats/cdl/CDLParser.h index 0e5471b005..ddeee5a262 100644 --- a/src/OpenColorIO/fileformats/cdl/CDLParser.h +++ b/src/OpenColorIO/fileformats/cdl/CDLParser.h @@ -20,7 +20,7 @@ class CDLParser { public: explicit CDLParser(const std::string& xmlFile); - virtual ~CDLParser(); + ~CDLParser(); void parse(std::istream & istream) const; diff --git a/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.cpp b/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.cpp index 38eaab76dd..c85d7b160e 100644 --- a/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.cpp +++ b/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.cpp @@ -77,11 +77,10 @@ void CDLReaderColorCorrectionElt::setCDLParsingInfo(const CDLParsingInfoRcPtr & m_parsingInfo = pTransformList; } -void CDLReaderColorCorrectionElt::appendMetadata(const std::string & name, const std::string & value) +void CDLReaderColorCorrectionElt::appendMetadata(FormatMetadataImpl& metadata) { // Keeps description as metadata with supplied name. - FormatMetadataImpl item(name, value); - m_transformData->getFormatMetadata().getChildrenElements().push_back(item); + m_transformData->getFormatMetadata().getChildrenElements().push_back(metadata); } } // namespace OCIO_NAMESPACE diff --git a/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.h b/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.h index b67e4e2144..4b3b613e7f 100644 --- a/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.h +++ b/src/OpenColorIO/fileformats/cdl/CDLReaderHelper.h @@ -54,9 +54,9 @@ class CDLReaderColorDecisionListElt : public XmlReaderContainerElt return m_parsingInfo; } - void appendMetadata(const std::string & name, const std::string & value) override + void appendMetadata(FormatMetadataImpl& metadata) override { - m_parsingInfo->m_metadata.addChildElement(name.c_str(), value.c_str()); + m_parsingInfo->m_metadata.getChildrenElements().push_back(metadata); } const FormatMetadataImpl & getMetadata() const @@ -89,9 +89,9 @@ class CDLReaderColorDecisionElt : public XmlReaderComplexElt { } - void appendMetadata(const std::string & name, const std::string & value) override + void appendMetadata(FormatMetadataImpl& metadata) override { - m_metadata.addChildElement(name.c_str(), value.c_str()); + m_metadata.getChildrenElements().push_back(metadata); } @@ -138,9 +138,9 @@ class CDLReaderColorCorrectionCollectionElt : public XmlReaderContainerElt return m_parsingInfo; } - void appendMetadata(const std::string & name, const std::string & value) override + void appendMetadata(FormatMetadataImpl& metadata) override { - m_parsingInfo->m_metadata.addChildElement(name.c_str(), value.c_str()); + m_parsingInfo->m_metadata.getChildrenElements().push_back(metadata); } const FormatMetadataImpl & getMetadata() const @@ -169,7 +169,7 @@ class CDLReaderColorCorrectionElt : public XmlReaderComplexElt void setCDLParsingInfo(const CDLParsingInfoRcPtr & parsingInfo); - void appendMetadata(const std::string & name, const std::string & value) override; + void appendMetadata(FormatMetadataImpl& metadata) override; private: CDLParsingInfoRcPtr m_parsingInfo; diff --git a/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp b/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp index 79393fc489..1bf162db35 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp +++ b/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.cpp @@ -60,6 +60,7 @@ void CTFReaderTransformElt::start(const char ** atts) bool isIdFound = false; bool isVersionFound = false; bool isCLFVersionFound = false; + bool isSMPTEVersionFound = false; CTFVersion requestedVersion(0, 0); CTFVersion requestedCLFVersion(0, 0); @@ -70,12 +71,40 @@ void CTFReaderTransformElt::start(const char ** atts) { if (!atts[i + 1] || !*atts[i + 1]) { - throwMessage("Required attribute 'id' does not have a value."); + throwMessage("Attribute 'id' does not have a value."); } - m_transform->setID(atts[i + 1]); + m_transform->getFormatMetadata().addAttribute(ATTR_ID, atts[i + 1]); isIdFound = true; } + else if (0 == Platform::Strcasecmp(ATTR_XMLNS, atts[i])) + { + if (!atts[i + 1] || !*atts[i + 1]) + { + throwMessage("Attribute 'xmlns' does not have a value."); + } + + // Check if xmlns atrribute holds a SMPTE version string. + try + { + auto version = CTFVersion(atts[i + 1], CTFVersion::StringFormat::VERSION_SMPTE_XMLNS); + requestedVersion = CTF_PROCESS_LIST_VERSION_2_0; + requestedCLFVersion = version; + isSMPTEVersionFound = true; + m_isCLF = true; + } + catch (Exception& /*e*/) + { + // Ignore other xmlns attribute strings. + } + + // Disallow Version and version-holding xmlns appering togather. + // Note that compCLFversion can appear together with xmlns. + if (isVersionFound && isSMPTEVersionFound) + { + throwMessage("SMPTE 'xmlns' version and 'Version' attribute cannot both be present."); + } + } else if (0 == Platform::Strcasecmp(ATTR_NAME, atts[i])) { if (!atts[i + 1] || !*atts[i + 1]) @@ -83,7 +112,7 @@ void CTFReaderTransformElt::start(const char ** atts) throwMessage("If the attribute 'name' is present, it must have a value."); } - m_transform->setName(atts[i + 1]); + m_transform->getFormatMetadata().addAttribute(ATTR_NAME, atts[i + 1]); } else if (0 == Platform::Strcasecmp(ATTR_INVERSE_OF, atts[i])) { @@ -92,7 +121,7 @@ void CTFReaderTransformElt::start(const char ** atts) throwMessage("If the attribute 'inverseOf' is present, it must have a value."); } - m_transform->setInverseOfId(atts[i + 1]); + m_transform->getFormatMetadata().addAttribute(ATTR_INVERSE_OF, atts[i + 1]); } else if (0 == Platform::Strcasecmp(ATTR_VERSION, atts[i])) { @@ -100,6 +129,10 @@ void CTFReaderTransformElt::start(const char ** atts) { throwMessage("'compCLFversion' and 'Version' cannot both be present."); } + if (isSMPTEVersionFound) + { + throwMessage("SMPTE 'xmlns' version and 'Version' attribute cannot both be present."); + } if (isVersionFound) { throwMessage("'Version' can only be there once."); @@ -114,7 +147,7 @@ void CTFReaderTransformElt::start(const char ** atts) try { const std::string verString(pVer); - CTFVersion::ReadVersion(verString, requestedVersion); + requestedVersion = CTFVersion(verString); } catch (Exception& ce) { @@ -134,6 +167,9 @@ void CTFReaderTransformElt::start(const char ** atts) throwMessage("'compCLFversion' and 'Version' cannot be both present."); } + // Note: compCLFversion can appear together with xmlns for SMPTE CLF + // files. + const char* pVer = atts[i + 1]; if (!pVer || !*pVer) { @@ -143,7 +179,7 @@ void CTFReaderTransformElt::start(const char ** atts) try { std::string verString(pVer); - CTFVersion::ReadVersion(verString, requestedCLFVersion); + requestedCLFVersion = CTFVersion(verString, CTFVersion::StringFormat::VERSION_SMPTE_CLF); } catch (Exception& ce) { @@ -168,14 +204,18 @@ void CTFReaderTransformElt::start(const char ** atts) requestedVersion = CTF_PROCESS_LIST_VERSION_2_0; } - isVersionFound = true; isCLFVersionFound = true; // Handle as CLF. m_isCLF = true; } - else if (0 == Platform::Strcasecmp("xmlns", atts[i])) + else if(StringUtils::StartsWith(std::string(atts[i]),"xmlns:")) { - // Ignore. + // push as metadata attribute. + if (!atts[i + 1] || !*atts[i + 1]) + { + throwMessage("If the attribute 'xmlns:*' is present, it must have a value."); + } + m_transform->getFormatMetadata().addAttribute(atts[i], atts[i + 1]); } else { @@ -185,29 +225,27 @@ void CTFReaderTransformElt::start(const char ** atts) i += 2; } - // Check mandatory elements. - if (!isIdFound) + // Check mandatory id keyword for non-SMPTE variants. + if (!isIdFound && !isSMPTEVersionFound) { throwMessage("Required attribute 'id' is missing."); } // Transform file format with no version means that // the CTF format is 1.2. - if (!isVersionFound) + if (!(isVersionFound || isCLFVersionFound || isSMPTEVersionFound )) { - if (m_isCLF && !isCLFVersionFound) + if (m_isCLF) { - throwMessage("Required attribute 'compCLFversion' is missing."); + throwMessage("No valid 'version', 'compCLFversion', or 'xmlns' attributes were found; " + "at least one of them is required."); } setVersion(CTF_PROCESS_LIST_VERSION_1_2); } else { setVersion(requestedVersion); - if (m_isCLF) - { - setCLFVersion(requestedCLFVersion); - } + setCLFVersion(requestedCLFVersion); } } @@ -215,9 +253,9 @@ void CTFReaderTransformElt::end() { } -void CTFReaderTransformElt::appendMetadata(const std::string & /*name*/, const std::string & value) +void CTFReaderTransformElt::appendMetadata(FormatMetadataImpl& metadata) { - getTransform()->getDescriptions().push_back(value); + getTransform()->getFormatMetadata().getChildrenElements().push_back(metadata); } const CTFReaderTransformPtr & CTFReaderTransformElt::getTransform() const @@ -260,6 +298,25 @@ bool CTFReaderTransformElt::isCLF() const return getTransform()->isCLF(); } +////////////////////////////////////////////////////////// +void CTFReaderIdElt::end() +{ + if(!ValidateSMPTEId(m_id)) + { + // We allow non-compliant Id values with a warning. + std::ostringstream ss; + ss << getXmlFile().c_str() << "(" << getXmlLineNumber() << "): "; + ss << "'" << m_id << "' is not a SMPTE ST 2136-1 compliant Id value."; + LogWarning(ss.str().c_str()); + } + + if(!m_id.empty()) + { + FormatMetadataImpl metadata(getName(), m_id); + getParent()->appendMetadata(metadata); + } +} + ////////////////////////////////////////////////////////// CTFReaderArrayElt::CTFReaderArrayElt(const std::string & name, @@ -799,6 +856,43 @@ void CTFReaderInfoElt::end() ////////////////////////////////////////////////////////// +void CTFReaderDescElt::start(const char ** atts ) +{ + m_desc = {}; + m_language = {}; + + unsigned i = 0; + while (atts[i] && *atts[i]) + { + if (0 == Platform::Strcasecmp(ATTR_LANGUAGE, *atts)) + { + if (!atts[i + 1] || !*atts[i + 1]) + { + throwMessage("Attribute 'language' does not have a value."); + } + + m_language = atts[i + 1]; + } + + i += 2; + } +} + +void CTFReaderDescElt::end() +{ + FormatMetadataImpl metadata(getName(), m_desc); + if(!m_language.empty()) + { + metadata.addAttribute(ATTR_LANGUAGE, m_language.c_str()); + } + getParent()->appendMetadata(metadata); +} + +////////////////////////////////////////////////////////// + + + + CTFReaderOpElt::CTFReaderOpElt() : XmlReaderContainerElt("", 0, "") { @@ -828,10 +922,9 @@ const std::string & CTFReaderOpElt::getIdentifier() const return getOp()->getID(); } -void CTFReaderOpElt::appendMetadata(const std::string & name, const std::string & value) +void CTFReaderOpElt::appendMetadata(FormatMetadataImpl& metadata) { - FormatMetadataImpl item(name, value); - getOp()->getFormatMetadata().getChildrenElements().push_back(item); + getOp()->getFormatMetadata().getChildrenElements().push_back(metadata); } void CTFReaderOpElt::start(const char ** atts) @@ -844,7 +937,7 @@ void CTFReaderOpElt::start(const char ** atts) // Add a pointer to an empty op of the appropriate child class to the // end of the opvec. No data is copied since the parameters of the op // have not been filled in yet. - m_transform->getOps().push_back(getOp()); + m_transform->getOpDataVec().push_back(getOp()); enum BitDepthFlags { @@ -4363,9 +4456,9 @@ void CTFReaderLut1DElt_1_7::end() // This code assumes that the current LUT is at the end of the opList. // In other words, that this LUT's end() method will be called before // any other Op's start(). - const size_t len = m_transform->getOps().size(); + const size_t len = m_transform->getOpDataVec().size(); const size_t pos = len - 1; - m_transform->getOps().insert(m_transform->getOps().begin() + pos, pRng); + m_transform->getOpDataVec().insert(m_transform->getOpDataVec().begin() + pos, pRng); } } @@ -4530,9 +4623,9 @@ void CTFReaderLut3DElt_1_7::end() // This code assumes that the current LUT is at the end of the opList. // In other words, that this LUT's end() method will be called before // any other Op's start(). - const unsigned long len = (unsigned long)m_transform->getOps().size(); + const unsigned long len = (unsigned long)m_transform->getOpDataVec().size(); const unsigned long pos = len - 1; - m_transform->getOps().insert(m_transform->getOps().begin() + pos, pRng); + m_transform->getOpDataVec().insert(m_transform->getOpDataVec().begin() + pos, pRng); } } @@ -4908,12 +5001,12 @@ void CTFReaderRangeElt_1_7::end() // This code assumes that the current Range is at the end of the opList. // In other words, that this Op's end() method will be called before // any other Op's start(). - const size_t len = m_transform->getOps().size(); + const size_t len = m_transform->getOpDataVec().size(); const size_t pos = len - 1; // Replace the range appended to m_transform in OpElt::start // with the matrix. - m_transform->getOps()[pos].swap(pMtx); + m_transform->getOpDataVec()[pos].swap(pMtx); } } diff --git a/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.h b/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.h index e4e1bacecd..5b7d48a4b8 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.h +++ b/src/OpenColorIO/fileformats/ctf/CTFReaderHelper.h @@ -47,7 +47,7 @@ class CTFReaderTransformElt : public XmlReaderContainerElt void end() override; - void appendMetadata(const std::string & name, const std::string & value) override; + void appendMetadata(FormatMetadataImpl& metadata) override; // Get its parent which is a Transform. const CTFReaderTransformPtr & getTransform() const; @@ -71,11 +71,48 @@ class CTFReaderTransformElt : public XmlReaderContainerElt // The associated Transform. CTFReaderTransformPtr m_transform; // Is it a clf file? Or is a clf parser requested. - bool m_isCLF; + bool m_isCLF = false; +}; + +// Class for the Id element. +class CTFReaderIdElt : public XmlReaderPlainElt +{ +public: + CTFReaderIdElt() = delete; + CTFReaderIdElt(const std::string & name, + ContainerEltRcPtr & pParent, + unsigned int xmlLocation, + const std::string & xmlFile) + : XmlReaderPlainElt(name, pParent, xmlLocation, xmlFile) + { + } + + ~CTFReaderIdElt() + { + } + + void start(const char ** /* atts */) override + { + m_id = {}; + } + + void end() override; + + void setRawData(const char * str, size_t len, unsigned int /* xmlLine */) override + { + // This function can receive the text in small pieces, so keep adding to + // the string. + m_id += std::string(str, len); + } + +private: + std::string m_id; }; typedef OCIO_SHARED_PTR CTFReaderTransformEltRcPtr; +// Note: This class is used only for adding metadata to other info metadata +// elements, not to the transform. class CTFReaderMetadataElt : public XmlReaderComplexElt { public: @@ -117,76 +154,37 @@ class CTFReaderInfoElt : public CTFReaderMetadataElt void end() override; }; -class CTFReaderInputDescriptorElt : public XmlReaderPlainElt +// This class is used for collecting descriptions, input descriptors and output +// descriptors. It also collects the language attribute for those if provided. +// Appends the found elements to the format metadata of the transform. +class CTFReaderDescElt : public XmlReaderPlainElt { public: - CTFReaderInputDescriptorElt() = delete; - CTFReaderInputDescriptorElt(const std::string & name, - ContainerEltRcPtr pParent, - unsigned int xmlLineNumber, - const std::string & xmlFile) + CTFReaderDescElt() = delete; + CTFReaderDescElt(const std::string & name, + ContainerEltRcPtr pParent, + unsigned int xmlLineNumber, + const std::string & xmlFile) : XmlReaderPlainElt(name, pParent, xmlLineNumber, xmlFile) { } - ~CTFReaderInputDescriptorElt() + ~CTFReaderDescElt() { } - void start(const char ** /* atts */) override - { - } - - void end() override - { - } + void start(const char ** atts ) override; + void end() override; void setRawData(const char * str, size_t len, unsigned int /*xmlLine*/) override { - CTFReaderTransformElt* pTransform - = dynamic_cast(getParent().get()); - - std::string s = pTransform->getTransform()->getInputDescriptor(); - s += std::string(str, len); - - pTransform->getTransform()->setInputDescriptor(s); - } -}; - -class CTFReaderOutputDescriptorElt : public XmlReaderPlainElt -{ -public: - CTFReaderOutputDescriptorElt() = delete; - CTFReaderOutputDescriptorElt(const std::string & name, - ContainerEltRcPtr pParent, - unsigned int xmlLineNumber, - const std::string & xmlFile) - : XmlReaderPlainElt(name, pParent, xmlLineNumber, xmlFile) - { - } - - ~CTFReaderOutputDescriptorElt() - { - } - - void start(const char ** /* atts */) override - { - } - - void end() override - { - } - - void setRawData(const char* str, size_t len, unsigned int /* xmlLine */) override - { - CTFReaderTransformElt* pTransform - = dynamic_cast(getParent().get()); - - std::string s = pTransform->getTransform()->getOutputDescriptor(); - s += std::string(str, len); - - pTransform->getTransform()->setOutputDescriptor(s); + // This function may receive the text in small pieces, so keep adding to + // the string. + m_desc += std::string(str, len); } +private: + std::string m_desc; + std::string m_language; }; class CTFReaderArrayElt : public XmlReaderPlainElt @@ -348,7 +346,7 @@ class CTFReaderOpElt : public XmlReaderContainerElt virtual const OpDataRcPtr getOp() const = 0; - void appendMetadata(const std::string & name, const std::string & value) override; + void appendMetadata(FormatMetadataImpl& metadata) override; void start(const char ** atts) override; diff --git a/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.cpp b/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.cpp index ffd73cbd43..89eb7f9f71 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.cpp +++ b/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.cpp @@ -3,6 +3,7 @@ #include #include +#include #include "fileformats/ctf/CTFReaderUtils.h" #include "Platform.h" @@ -173,4 +174,19 @@ const char * ConvertGradingStyleAndDirToString(GradingStyle style, TransformDire throw Exception(os.str().c_str()); } + +bool ValidateSMPTEId(const std::string& id) +{ + static const std::regex clf_id_regex( + "^urn:uuid:" + "[0-9a-fA-F]{8}-" + "[0-9a-fA-F]{4}-" + "[0-9a-fA-F]{4}-" + "[0-9a-fA-F]{4}-" + "[0-9a-fA-F]{12}$"); + + return std::regex_match(id, clf_id_regex); +} + + } // namespace OCIO_NAMESPACE diff --git a/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.h b/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.h index 805e95bb12..f58b47d0d2 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.h +++ b/src/OpenColorIO/fileformats/ctf/CTFReaderUtils.h @@ -18,6 +18,7 @@ void ConvertStringToGradingStyleAndDir(const char * str, TransformDirection & dir); const char * ConvertGradingStyleAndDirToString(GradingStyle style, TransformDirection dir); +bool ValidateSMPTEId(const std::string& id); static constexpr char TAG_ACES[] = "ACES"; static constexpr char TAG_ACES_PARAMS[] = "ACESParams"; @@ -42,6 +43,7 @@ static constexpr char TAG_FIXED_FUNCTION[] = "FixedFunction"; static constexpr char TAG_FUNCTION[] = "Function"; static constexpr char TAG_GAMMA[] = "Gamma"; static constexpr char TAG_GAMMA_PARAMS[] = "GammaParams"; +static constexpr char TAG_ID[] = "Id"; static constexpr char TAG_INDEX_MAP[] = "IndexMap"; static constexpr char TAG_INFO[] = "Info"; static constexpr char TAG_INVLUT1D[] = "InverseLUT1D"; @@ -114,6 +116,7 @@ static constexpr char ATTR_HUE_ADJUST[] = "hueAdjust"; static constexpr char ATTR_INTERPOLATION[] = "interpolation"; static constexpr char ATTR_INVERSE_OF[] = "inverseOf"; static constexpr char ATTR_IS_INVERTED[] = "inverted"; +static constexpr char ATTR_LANGUAGE[] = "language"; static constexpr char ATTR_LINEARSLOPE[] = "linearSlope"; static constexpr char ATTR_LINSIDEBREAK[] = "linSideBreak"; static constexpr char ATTR_LINSIDESLOPE[] = "linSideSlope"; diff --git a/src/OpenColorIO/fileformats/ctf/CTFTransform.cpp b/src/OpenColorIO/fileformats/ctf/CTFTransform.cpp index 5a21b6cb1d..55f6877adf 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFTransform.cpp +++ b/src/OpenColorIO/fileformats/ctf/CTFTransform.cpp @@ -2,12 +2,12 @@ // Copyright Contributors to the OpenColorIO Project. #include +#include #include "BitDepthUtils.h" #include "fileformats/ctf/CTFReaderUtils.h" #include "fileformats/ctf/CTFTransform.h" #include "fileformats/xmlutils/XMLReaderUtils.h" -#include "HashUtils.h" #include "ops/cdl/CDLOpData.h" #include "ops/exponent/ExponentOp.h" #include "ops/exposurecontrast/ExposureContrastOpData.h" @@ -38,9 +38,37 @@ namespace OCIO_NAMESPACE // This results in less pretty output and also causes problems for some unit tests. static constexpr unsigned DOUBLE_PRECISION = 15; +static constexpr const char* SMPTE_XMLNS_URL = "http://www.smpte-ra.org/ns/2136-1/2024"; -void CTFVersion::ReadVersion(const std::string & versionString, CTFVersion & versionOut) +CTFVersion::CTFVersion(const std::string & versionString, StringFormat acceptedFormat) { + // Parse the version string to see if that matches the SMPTE + // namespace/version patterns. If so store the version string and consider + // equivalent to v3.0. + if (acceptedFormat & ( VERSION_SMPTE_XMLNS | VERSION_SMPTE_CLF)) + { + bool res = false; + if (acceptedFormat & VERSION_SMPTE_XMLNS) + { + res = (0 == Platform::Strcasecmp(versionString.c_str(), + SMPTE_XMLNS_URL)); + } + + if (!res && acceptedFormat & VERSION_SMPTE_CLF) + { + res = (0 == Platform::Strcasecmp(versionString.c_str(), + "ST2136-1:2024")); + } + + if (res) + { + m_version_string = versionString; + m_major = 3; + return; + } + } + + // For non-SMPTE namespace versions, parse as MAJOR[.MINOR[.REVISION]] unsigned int numDot = 0; unsigned int numInt = 0; bool canBeDot = false; @@ -73,19 +101,19 @@ void CTFVersion::ReadVersion(const std::string & versionString, CTFVersion & ver std::ostringstream os; os << "'"; os << versionString; - os << "' is not a valid version. "; - os << "Expecting MAJOR[.MINOR[.REVISION]] "; + os << "' is not a valid version. Expecting "; + if (acceptedFormat & VERSION_SMPTE_CLF) + os << "'ST2136-1:2024' or "; + if (acceptedFormat & VERSION_SMPTE_XMLNS) + os << "'" << SMPTE_XMLNS_URL << "' or "; + os << "MAJOR[.MINOR[.REVISION]] "; throw Exception(os.str().c_str()); } - versionOut.m_major = 0; - versionOut.m_minor = 0; - versionOut.m_revision = 0; - sscanf(versionString.c_str(), "%d.%d.%d", - &versionOut.m_major, - &versionOut.m_minor, - &versionOut.m_revision); + &m_major, + &m_minor, + &m_revision); } CTFVersion & CTFVersion::operator=(const CTFVersion & rhs) @@ -95,6 +123,7 @@ CTFVersion & CTFVersion::operator=(const CTFVersion & rhs) m_major = rhs.m_major; m_minor = rhs.m_minor; m_revision = rhs.m_revision; + m_version_string = rhs.m_version_string; } return *this; } @@ -385,7 +414,7 @@ CTFVersion GetOpMinimumVersion(const ConstOpDataRcPtr & op) CTFVersion GetMinimumVersion(const ConstCTFReaderTransformPtr & transform) { - auto & opList = transform->getOps(); + auto & opList = transform->getOpDataVec(); // Need to specify the minimum version here. Some test transforms have no ops. CTFVersion minimumVersion = CTF_PROCESS_LIST_VERSION_1_3; @@ -402,59 +431,93 @@ CTFVersion GetMinimumVersion(const ConstCTFReaderTransformPtr & transform) return minimumVersion; } -const char * GetFirstElementValue(const FormatMetadataImpl::Elements & elements, const std::string & name) +const char * GetLastElementValue(const FormatMetadataImpl::Elements & elements, const std::string & name) { - for (auto & it : elements) + for (auto it = elements.rbegin(); it != elements.rend(); ++it) { - if (0 == Platform::Strcasecmp(name.c_str(), it.getElementName())) + if (0 == Platform::Strcasecmp(name.c_str(), it->getElementName())) { - return it.getElementValue(); + return it->getElementValue(); } } return ""; } -const char * GetLastElementValue(const FormatMetadataImpl::Elements & elements, const std::string & name) +void CopyNonEmptyAttribute(FormatMetadataImpl& dest,const FormatMetadataImpl& source, const char * attrname) { - for (auto it = elements.rbegin(); it != elements.rend(); ++it) + const std::string value = source.getAttributeValueString(attrname); + if (!value.empty()) { - if (0 == Platform::Strcasecmp(name.c_str(), it->getElementName())) - { - return it->getElementValue(); - } + dest.addAttribute(attrname, value.c_str()); } - return ""; } + +void AddNonEmptyElement(FormatMetadataImpl & metadata, const char * name, const std::string & value) +{ + if (!value.empty()) + { + metadata.addChildElement(name, value.c_str()); + } } +} // namespace + // This method copies the metadata from the argument into the transform object. // Only attributes and elements that are expected parts of the CLF spec are // preserved. This corresponds to the top level metadata in the CLF ProcessList, // note that any metadata in the individual process nodes are stored separately // in their opData. Here is what is preserved: // -- ProcessList attributes "name", "id", and "inverseOf". Other attributes are ignored. +// -- ProcessList sub-element "Id". // -- ProcessList sub-elements "InputDescriptor" and "OutputDescriptor". The value -// of these elements is preserved but no additional attributes or sub-elements. -// Only the first InputDescriptor and last OutputDescriptor in the metadata is preserved. +// of these elements is preserved with the language attrib, but no sub-elements. // -- ProcessList "Description" sub-elements. All of these elements are preserved, -// but only their value strings, no attributes or sub-elements. +// but only their value strings and language attributes. // -- ProcessList "Info" sub-elements. If there is more than one, they are merged into // a single Info element. All attributes and sub-elements are preserved. // -- Any other sub-elements or attributes are ignored. void CTFReaderTransform::fromMetadata(const FormatMetadataImpl & metadata) { - // Name & id handled as attributes of the root metadata. - m_name = metadata.getAttributeValueString(METADATA_NAME); - m_id = metadata.getAttributeValueString(METADATA_ID); - m_inverseOfId = metadata.getAttributeValueString(ATTR_INVERSE_OF); + // Attributes + CopyNonEmptyAttribute(m_formatMetadata, metadata, METADATA_ID); + CopyNonEmptyAttribute(m_formatMetadata, metadata, METADATA_NAME); + CopyNonEmptyAttribute(m_formatMetadata, metadata, ATTR_INVERSE_OF); + + // all "xmlns:*" attributes needs to be copied too. + for (int i = 0; i < metadata.getNumAttributes(); ++i) + { + const std::string attrName = metadata.getAttributeName(i); + if (StringUtils::StartsWith(attrName.c_str(), "xmlns:")) + { + CopyNonEmptyAttribute(m_formatMetadata, metadata, attrName.c_str()); + } + } + + // Id Element + AddNonEmptyElement(m_formatMetadata, METADATA_ID_ELEMENT, + GetLastElementValue(metadata.getChildrenElements(), METADATA_ID_ELEMENT)); + + // Description, input and output descriptors + auto copyDescs = [&](const char * elementName) + { + for (auto desc : metadata.getChildrenElements(elementName)) + { + FormatMetadataImpl newEl(desc.getElementName(), desc.getElementValue()); + auto lang = desc.getAttributeValueString("language"); + if (!lang.empty()) + { + newEl.addAttribute("language", lang.c_str()); + } + m_formatMetadata.getChildrenElements().push_back(newEl); + } + }; - // Preserve first InputDescriptor, last OutputDescriptor, and all Descriptions. - m_inDescriptor = GetFirstElementValue(metadata.getChildrenElements(), METADATA_INPUT_DESCRIPTOR); - m_outDescriptor = GetLastElementValue(metadata.getChildrenElements(), METADATA_OUTPUT_DESCRIPTOR); - GetElementsValues(metadata.getChildrenElements(), METADATA_DESCRIPTION, m_descriptions); + copyDescs(METADATA_DESCRIPTION); + copyDescs(METADATA_INPUT_DESCRIPTOR); + copyDescs(METADATA_OUTPUT_DESCRIPTOR); // Combine all Info elements. - for (auto elt : metadata.getChildrenElements()) + for (auto & elt : metadata.getChildrenElements()) { if (0 == Platform::Strcasecmp(elt.getElementName(), METADATA_INFO)) { @@ -463,38 +526,51 @@ void CTFReaderTransform::fromMetadata(const FormatMetadataImpl & metadata) } } -namespace -{ -void AddNonEmptyElement(FormatMetadataImpl & metadata, const char * name, const std::string & value) -{ - if (!value.empty()) - { - metadata.addChildElement(name, value.c_str()); - } -} -void AddNonEmptyAttribute(FormatMetadataImpl & metadata, const char * name, const std::string & value) -{ - if (!value.empty()) - { - metadata.addAttribute(name, value.c_str()); - } -} -} void CTFReaderTransform::toMetadata(FormatMetadataImpl & metadata) const { // Put CTF processList information into the FormatMetadata. - AddNonEmptyAttribute(metadata, METADATA_NAME, getName()); - AddNonEmptyAttribute(metadata, METADATA_ID, getID()); - AddNonEmptyAttribute(metadata, ATTR_INVERSE_OF, getInverseOfId()); - AddNonEmptyElement(metadata, METADATA_INPUT_DESCRIPTOR, getInputDescriptor()); - AddNonEmptyElement(metadata, METADATA_OUTPUT_DESCRIPTOR, getOutputDescriptor()); - for (auto & desc : m_descriptions) + // Attributes + CopyNonEmptyAttribute(metadata, m_formatMetadata, METADATA_ID); + CopyNonEmptyAttribute(metadata, m_formatMetadata, METADATA_NAME); + CopyNonEmptyAttribute(metadata, m_formatMetadata, ATTR_INVERSE_OF); + + // all "xmlns:*" attributes needs to be copied too. + for (int i = 0; i < m_formatMetadata.getNumAttributes(); ++i) { - metadata.addChildElement(METADATA_DESCRIPTION, desc.c_str()); + const std::string attrName = m_formatMetadata.getAttributeName(i); + if (StringUtils::StartsWith(attrName.c_str(), "xmlns:")) + { + CopyNonEmptyAttribute(metadata, m_formatMetadata, attrName.c_str()); + } } + + // Child Elements + AddNonEmptyElement(metadata, METADATA_ID_ELEMENT, + GetLastElementValue(m_formatMetadata.getChildrenElements(), METADATA_ID_ELEMENT)); + + // Description, Input and Output Descriptor Elements. + auto copyDescs = [&](const char * elementName) + { + for (auto desc : m_formatMetadata.getChildrenElements(elementName)) + { + FormatMetadataImpl newEl(desc.getElementName(), desc.getElementValue()); + auto lang = desc.getAttributeValueString("language"); + if (!lang.empty()) + { + newEl.addAttribute("language", lang.c_str()); + } + metadata.getChildrenElements().push_back(newEl); + } + }; + + copyDescs(METADATA_DESCRIPTION); + copyDescs(METADATA_INPUT_DESCRIPTOR); + copyDescs(METADATA_OUTPUT_DESCRIPTOR); + + // Info Metadata. const std::string infoValue(m_infoMetadata.getElementValue()); if (m_infoMetadata.getNumAttributes() || m_infoMetadata.getNumChildrenElements() || !infoValue.empty()) @@ -508,14 +584,23 @@ void CTFReaderTransform::toMetadata(FormatMetadataImpl & metadata) const namespace { -void WriteDescriptions(XmlFormatter & fmt, const char * tag, const StringUtils::StringVec & descriptions) +void WriteTagStringVec(XmlFormatter & fmt, const char * tag, const StringUtils::StringVec & strVec) { - for (auto & it : descriptions) + for (auto & it : strVec) { fmt.writeContentTag(tag, it); } } +// Writes the given list of elements along with their attributes. +void WriteTagElementVec(XmlFormatter & fmt, const FormatMetadataImpl::Elements & elVec) +{ + for (auto & el : elVec) + { + fmt.writeContentTag(el.getElementName(), el.getAttributes(), el.getElementValue()); + } +} + template typename std::enable_if::value, void>::type WriteValue(T value, std::ostream& stream) { @@ -737,7 +822,7 @@ void OpWriter::writeFormatMetadata() const StringUtils::StringVec desc; GetElementsValues(op->getFormatMetadata().getChildrenElements(), TAG_DESCRIPTION, desc); - WriteDescriptions(m_formatter, TAG_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, TAG_DESCRIPTION, desc); } const char * BitDepthToCLFString(BitDepth bitDepth) @@ -879,7 +964,7 @@ void CDLWriter::writeContent() const StringUtils::StringVec desc; GetElementsValues(op->getFormatMetadata().getChildrenElements(), METADATA_SOP_DESCRIPTION, desc); - WriteDescriptions(m_formatter, TAG_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, TAG_DESCRIPTION, desc); oss.str(""); params = m_cdl->getSlopeParams(); @@ -906,7 +991,7 @@ void CDLWriter::writeContent() const StringUtils::StringVec desc; GetElementsValues(op->getFormatMetadata().getChildrenElements(), METADATA_SAT_DESCRIPTION, desc); - WriteDescriptions(m_formatter, TAG_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, TAG_DESCRIPTION, desc); oss.str(""); oss << m_cdl->getSaturation(); @@ -921,15 +1006,15 @@ void CDLWriter::writeFormatMetadata() const StringUtils::StringVec desc; GetElementsValues(op->getFormatMetadata().getChildrenElements(), METADATA_DESCRIPTION, desc); - WriteDescriptions(m_formatter, TAG_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, TAG_DESCRIPTION, desc); desc.clear(); GetElementsValues(op->getFormatMetadata().getChildrenElements(), METADATA_INPUT_DESCRIPTION, desc); - WriteDescriptions(m_formatter, METADATA_INPUT_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, METADATA_INPUT_DESCRIPTION, desc); desc.clear(); GetElementsValues(op->getFormatMetadata().getChildrenElements(), METADATA_VIEWING_DESCRIPTION, desc); - WriteDescriptions(m_formatter, METADATA_VIEWING_DESCRIPTION, desc); + WriteTagStringVec(m_formatter, METADATA_VIEWING_DESCRIPTION, desc); } /////////////////////////////////////////////////////////////////////////////// @@ -2517,10 +2602,10 @@ void RangeWriter::writeContent() const TransformWriter::TransformWriter(XmlFormatter & formatter, ConstCTFReaderTransformPtr transform, - bool isCLF) + SubFormat subFormat) : XmlElementWriter(formatter) , m_transform(transform) - , m_isCLF(isCLF) + , m_subFormat(subFormat) { } @@ -2534,68 +2619,115 @@ void TransformWriter::write() const XmlFormatter::Attributes attributes; - CTFVersion writeVersion{ CTF_PROCESS_LIST_VERSION_2_0 }; - - std::ostringstream fversion; - if (m_isCLF) + CTFVersion writeVersion; // This controls the available ops + switch(m_subFormat) { - // Save with CLF version 3. - fversion << 3; - attributes.push_back(XmlFormatter::Attribute(ATTR_COMP_CLF_VERSION, - fversion.str())); + case SubFormat::FORMAT_UNKNOWN: + throw Exception("Cannot write transform with unknown sub-format."); + break; - } - else - { - writeVersion = GetMinimumVersion(m_transform); - fversion << writeVersion; + case SubFormat::FORMAT_CLF: + // For CLF, we're writing versions per both the Academy and SMPTE + // requirements. + writeVersion = CTF_PROCESS_LIST_VERSION_2_0; + attributes.push_back(XmlFormatter::Attribute( + ATTR_COMP_CLF_VERSION, "3")); + attributes.push_back(XmlFormatter::Attribute( + ATTR_XMLNS, SMPTE_XMLNS_URL)); + break; + + case SubFormat::FORMAT_CTF: + writeVersion = GetMinimumVersion(m_transform); - attributes.push_back(XmlFormatter::Attribute(ATTR_VERSION, - fversion.str())); + std::ostringstream fversion; + fversion << writeVersion; + attributes.push_back(XmlFormatter::Attribute( + ATTR_VERSION, fversion.str())); + break; } + auto & metada = m_transform->getFormatMetadata(); + + // Id attribute std::string id = m_transform->getID(); if (id.empty()) { - auto & ops = m_transform->getOps(); - for (auto op : ops) - { - id += op->getCacheID(); - } - - id = CacheIDHash(id.c_str(), id.size()); + throw Exception("Internal error; at this point the transform should have an id"); } attributes.push_back(XmlFormatter::Attribute(ATTR_ID, id)); - + + // Name attribute const std::string& name = m_transform->getName(); if (!name.empty()) { attributes.push_back(XmlFormatter::Attribute(ATTR_NAME, name)); } - const std::string & inverseOfId = m_transform->getInverseOfId(); - if (!inverseOfId.empty()) + // inverseOf attribute + const char * inverseOf = metada.getAttributeValue(ATTR_INVERSE_OF); + if (inverseOf && *inverseOf) + { + attributes.push_back(XmlFormatter::Attribute( + ATTR_INVERSE_OF, inverseOf)); + } + + // Non-default namespace attributes. + for (int i = 0; i < metada.getNumAttributes(); ++i) { - attributes.push_back(XmlFormatter::Attribute(ATTR_INVERSE_OF, inverseOfId)); + const char * attrName = metada.getAttributeName(i); + if (attrName && StringUtils::StartsWith(attrName, "xmlns:")) + { + const char * attrValue = metada.getAttributeValue(i); + if (attrValue && *attrValue) + { + attributes.push_back(XmlFormatter::Attribute(attrName, attrValue)); + } + } } m_formatter.writeStartTag(processListTag, attributes); { XmlScopeIndent scopeIndent(m_formatter); + + // Id element, won't generate if not provided but the format is + // enforced. + auto idIdx = m_transform->getFormatMetadata() + .getFirstChildIndex(METADATA_ID_ELEMENT); + if(idIdx>=0) + { + const char * idVal = m_transform->getFormatMetadata().getChildElement(idIdx).getElementValue(); + if (idVal && *idVal) + { + if (m_subFormat == SubFormat::FORMAT_CLF && !ValidateSMPTEId(idVal)) + { + std::ostringstream ss; + ss << "'" << idVal << "' is not a SMPTE ST 2136-1 compliant Id value."; + throw Exception(ss.str().c_str()); + } + m_formatter.writeContentTag(TAG_ID, idVal); + } + } - WriteDescriptions(m_formatter, TAG_DESCRIPTION, m_transform->getDescriptions()); + // Descriptions. + { + auto desc = m_transform->getFormatMetadata() + .getChildrenElements(METADATA_DESCRIPTION); + WriteTagElementVec(m_formatter, desc); + } - const std::string & inputDesc = m_transform->getInputDescriptor(); - if (!inputDesc.empty()) + // Input Descriptors. { - m_formatter.writeContentTag(METADATA_INPUT_DESCRIPTOR, inputDesc); + auto desc = m_transform->getFormatMetadata() + .getChildrenElements(METADATA_INPUT_DESCRIPTOR); + WriteTagElementVec(m_formatter, desc); } - const std::string & outputDesc = m_transform->getOutputDescriptor(); - if (!outputDesc.empty()) + // Output Descriptors. { - m_formatter.writeContentTag(METADATA_OUTPUT_DESCRIPTOR, outputDesc); + auto desc = m_transform->getFormatMetadata() + .getChildrenElements(METADATA_OUTPUT_DESCRIPTOR); + WriteTagElementVec(m_formatter, desc); } const FormatMetadataImpl & info = m_transform->getInfoMetadata(); @@ -2629,7 +2761,7 @@ void TransformWriter::writeProcessListMetadata(const FormatMetadataImpl& m) cons m_formatter.writeContent(m.getElementValue()); } - const auto items = m.getChildrenElements(); + const auto & items = m.getChildrenElements(); for (auto it = items.begin(), end = items.end(); it != end; ++it) { XmlScopeIndent scopeIndent(m_formatter); @@ -2699,8 +2831,8 @@ void TransformWriter::writeOps(const CTFVersion & version) const // values on write. Otherwise, default to 32f. BitDepth inBD = BIT_DEPTH_F32; BitDepth outBD = BIT_DEPTH_F32; - - auto & ops = m_transform->getOps(); + bool isCLF = m_subFormat == SubFormat::FORMAT_CLF; + auto & ops = m_transform->getOpDataVec(); size_t numOps = ops.size(); size_t numSavedOps = 0; if (numOps) @@ -2762,7 +2894,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const paramR, paramG, paramB, paramA); gammaData->getFormatMetadata() = exp->getFormatMetadata(); - if (m_isCLF && !gammaData->isAlphaComponentIdentity()) + if (isCLF && !gammaData->isAlphaComponentIdentity()) { ThrowWriteOp("Exponent with alpha"); } @@ -2775,7 +2907,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::ExposureContrastType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("ExposureContrast"); } @@ -2789,7 +2921,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::FixedFunctionType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("FixedFunction"); } @@ -2804,7 +2936,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const case OpData::GammaType: { auto gamma = OCIO_DYNAMIC_POINTER_CAST(op); - if (m_isCLF) + if (isCLF) { if (!gamma->isAlphaComponentIdentity()) { @@ -2820,7 +2952,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::GradingPrimaryType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("GradingPrimary"); } @@ -2834,7 +2966,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::GradingRGBCurveType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("GradingRGBCurve"); } @@ -2848,7 +2980,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::GradingHueCurveType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("GradingHueCurve"); } @@ -2862,7 +2994,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const } case OpData::GradingToneType: { - if (m_isCLF) + if (isCLF) { ThrowWriteOp("GradingTone"); } @@ -2886,7 +3018,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const case OpData::Lut1DType: { auto lut = OCIO_DYNAMIC_POINTER_CAST(op); - if (m_isCLF) + if (isCLF) { if (lut->getDirection() != TRANSFORM_DIR_FORWARD) { @@ -2910,7 +3042,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const case OpData::Lut3DType: { auto lut = OCIO_DYNAMIC_POINTER_CAST(op); - if (m_isCLF) + if (isCLF) { if (lut->getDirection() != TRANSFORM_DIR_FORWARD) { @@ -2935,7 +3067,7 @@ void TransformWriter::writeOps(const CTFVersion & version) const { auto matSrc = OCIO_DYNAMIC_POINTER_CAST(op); - if (m_isCLF) + if (isCLF) { if (matSrc->hasAlpha()) { diff --git a/src/OpenColorIO/fileformats/ctf/CTFTransform.h b/src/OpenColorIO/fileformats/ctf/CTFTransform.h index f8fb741c26..dec4c71532 100644 --- a/src/OpenColorIO/fileformats/ctf/CTFTransform.h +++ b/src/OpenColorIO/fileformats/ctf/CTFTransform.h @@ -22,16 +22,20 @@ namespace OCIO_NAMESPACE class CTFVersion { public: + enum StringFormat + { + VERSION_NUMERIC = 0, // Numeric version is always accepted. + VERSION_SMPTE_XMLNS = 1 << 1, + VERSION_SMPTE_CLF = 1 << 2 + }; + // Will throw if versionString is not formatted like a version. - static void ReadVersion(const std::string & versionString, - CTFVersion & versionOut); + explicit CTFVersion(const std::string & versionString, StringFormat acceptedFormat = VERSION_NUMERIC); CTFVersion() - : m_major(0) - , m_minor(0) - , m_revision(0) { } + CTFVersion(unsigned int major, unsigned int minor, unsigned int revision) : m_major(major) , m_minor(minor) @@ -41,7 +45,6 @@ class CTFVersion CTFVersion(unsigned int major, unsigned int minor) : m_major(major) , m_minor(minor) - , m_revision(0) { } @@ -49,6 +52,7 @@ class CTFVersion : m_major(otherVersion.m_major) , m_minor(otherVersion.m_minor) , m_revision(otherVersion.m_revision) + , m_version_string(otherVersion.m_version_string) { } @@ -65,22 +69,33 @@ class CTFVersion friend std::ostream & operator<< (std::ostream & stream, const CTFVersion & rhs) { - stream << rhs.m_major; - if (rhs.m_minor != 0 || rhs.m_revision != 0) + if (!rhs.m_version_string.empty()) { - stream << "." << rhs.m_minor; - if (rhs.m_revision != 0) + stream << rhs.m_version_string; + } + else + { + stream << rhs.m_major; + if (rhs.m_minor != 0 || rhs.m_revision != 0) { - stream << "." << rhs.m_revision; + stream << "." << rhs.m_minor; + if (rhs.m_revision != 0) + { + stream << "." << rhs.m_revision; + } } } return stream; } private: - unsigned int m_major; - unsigned int m_minor; - unsigned int m_revision; + // CTF and Academy/ASC CLF uses the numeric version system. + unsigned int m_major = 0; + unsigned int m_minor = 0; + unsigned int m_revision = 0; + + // SMPTE CLF uses a non-numeric xmlns version system. + std::string m_version_string; }; // @@ -151,28 +166,22 @@ class CTFReaderTransform const std::string & getID() const { - return m_id; + return m_formatMetadata.getAttributeValueString(METADATA_ID); } void setID(const char * id) { - m_id = id; + m_formatMetadata.addAttribute(METADATA_ID, id); } + const std::string & getName() const { - return m_name; + return m_formatMetadata.getAttributeValueString(METADATA_NAME); } void setName(const char * name) { - m_name = name; - } - const std::string & getInverseOfId() const - { - return m_inverseOfId; - } - void setInverseOfId(const char * id) - { - m_inverseOfId = id; + m_formatMetadata.addAttribute(METADATA_NAME, name); } + FormatMetadataImpl & getInfoMetadata() { return m_infoMetadata; @@ -181,41 +190,23 @@ class CTFReaderTransform { return m_infoMetadata; } - const ConstOpDataVec & getOps() const - { - return m_ops; - } - ConstOpDataVec & getOps() - { - return m_ops; - } - const StringUtils::StringVec & getDescriptions() const - { - return m_descriptions; - } - StringUtils::StringVec & getDescriptions() - { - return m_descriptions; - } - const std::string & getInputDescriptor() const + FormatMetadataImpl & getFormatMetadata() { - return m_inDescriptor; + return m_formatMetadata; } - - void setInputDescriptor(const std::string & in) + const FormatMetadataImpl & getFormatMetadata() const { - m_inDescriptor = in; + return m_formatMetadata; } - const std::string & getOutputDescriptor() const + const ConstOpDataVec & getOpDataVec() const { - return m_outDescriptor; + return m_ops; } - - void setOutputDescriptor(const std::string & out) + ConstOpDataVec & getOpDataVec() { - m_outDescriptor = out; + return m_ops; } void setCTFVersion(const CTFVersion & ver); @@ -239,15 +230,10 @@ class CTFReaderTransform } private: - std::string m_id; - std::string m_name; - std::string m_inverseOfId; - std::string m_inDescriptor; - std::string m_outDescriptor; FormatMetadataImpl m_infoMetadata; + FormatMetadataImpl m_formatMetadata; ConstOpDataVec m_ops; - StringUtils::StringVec m_descriptions; // CTF version used even for CLF files. // CLF versions <= 2.0 are interpreted as CTF version 1.7. @@ -265,14 +251,22 @@ typedef OCIO_SHARED_PTR ConstCTFReaderTransformPtr; class TransformWriter : public XmlElementWriter { -public: + public: + enum class SubFormat : uint8_t + { + FORMAT_UNKNOWN, + FORMAT_CLF, + FORMAT_CTF + }; + + public: TransformWriter() = delete; TransformWriter(const TransformWriter &) = delete; TransformWriter& operator=(const TransformWriter &) = delete; TransformWriter(XmlFormatter & formatter, ConstCTFReaderTransformPtr transform, - bool isCLF); + SubFormat SubFormat); virtual ~TransformWriter(); @@ -284,8 +278,8 @@ class TransformWriter : public XmlElementWriter void writeOps(const CTFVersion & version) const; private: - ConstCTFReaderTransformPtr m_transform; - bool m_isCLF; + ConstCTFReaderTransformPtr m_transform; + SubFormat m_subFormat = SubFormat::FORMAT_UNKNOWN; }; diff --git a/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.cpp b/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.cpp index d5b5be5dcf..2bb71c895b 100644 --- a/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.cpp +++ b/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.cpp @@ -101,7 +101,8 @@ void XmlReaderDescriptionElt::end() { // Note: eXpat automatically replaces escaped characters with // their original values. - getParent()->appendMetadata(getIdentifier(), m_description); + FormatMetadataImpl metadata(getIdentifier(), m_description); + getParent()->appendMetadata(metadata); } } diff --git a/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.h b/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.h index 203d3bcdfc..bc1abf4ce8 100644 --- a/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.h +++ b/src/OpenColorIO/fileformats/xmlutils/XMLReaderHelper.h @@ -34,9 +34,6 @@ class XmlReaderElement // End the parsing of the element. virtual void end() = 0; - // Is it a container which means if it can hold other elements. - virtual bool isContainer() const = 0; - const std::string & getName() const { return m_name; @@ -64,6 +61,9 @@ class XmlReaderElement { return false; } + + // Is it a container which means if it can hold other elements. + virtual bool isContainer() const = 0; void throwMessage(const std::string & error) const; @@ -135,7 +135,7 @@ class XmlReaderContainerElt : public XmlReaderElement return true; } - virtual void appendMetadata(const std::string & name, const std::string & value) = 0; + virtual void appendMetadata(FormatMetadataImpl& metadata) = 0; private: XmlReaderContainerElt() = delete; @@ -211,7 +211,7 @@ class XmlReaderDummyElt : public XmlReaderPlainElt { } - void appendMetadata(const std::string & /*name*/, const std::string & /*value*/) override + void appendMetadata(FormatMetadataImpl& /*metadata*/) override { } @@ -288,6 +288,7 @@ class XmlReaderDescriptionElt : public XmlReaderPlainElt void start(const char ** /* atts */) override { + // TODO: collect language attr. m_description.resize(0); m_changed = false; } @@ -339,7 +340,7 @@ class XmlReaderComplexElt : public XmlReaderContainerElt return getName().c_str(); } - void appendMetadata(const std::string & /*name*/, const std::string & /*value*/) override + void appendMetadata(FormatMetadataImpl& /*metadata*/) override { } @@ -392,11 +393,11 @@ class XmlReaderSOPNodeBaseElt : public XmlReaderComplexElt void setIsOffsetInit(bool status) { m_isOffsetInit = status; } void setIsPowerInit(bool status) { m_isPowerInit = status; } - void appendMetadata(const std::string & /* name */, const std::string & value) override + void appendMetadata(FormatMetadataImpl& metadata) override { // Add description to parent and override name. - FormatMetadataImpl item(METADATA_SOP_DESCRIPTION, value); - getCDL()->getFormatMetadata().getChildrenElements().push_back(item); + metadata.setElementName(METADATA_SOP_DESCRIPTION); + getCDL()->getFormatMetadata().getChildrenElements().push_back(metadata); } private: @@ -452,11 +453,11 @@ class XmlReaderSatNodeBaseElt : public XmlReaderComplexElt virtual const CDLOpDataRcPtr & getCDL() const = 0; - void appendMetadata(const std::string & /* name */, const std::string & value) override + void appendMetadata(FormatMetadataImpl& metadata) override { // Add description to parent and override name. - FormatMetadataImpl item(METADATA_SAT_DESCRIPTION, value); - getCDL()->getFormatMetadata().getChildrenElements().push_back(item); + metadata.setElementName(METADATA_SAT_DESCRIPTION); + getCDL()->getFormatMetadata().getChildrenElements().push_back(metadata); } diff --git a/src/OpenColorIO/fileformats/xmlutils/XMLReaderUtils.h b/src/OpenColorIO/fileformats/xmlutils/XMLReaderUtils.h index 9a813a2551..895771fa87 100644 --- a/src/OpenColorIO/fileformats/xmlutils/XMLReaderUtils.h +++ b/src/OpenColorIO/fileformats/xmlutils/XMLReaderUtils.h @@ -23,19 +23,20 @@ namespace OCIO_NAMESPACE // Strings used by CDL and CLF parsers or writers. -static constexpr char ATTR_ID[] = "id"; -static constexpr char ATTR_NAME[] = "name"; - -static constexpr char CDL_TAG_COLOR_CORRECTION[] = "ColorCorrection"; - -static constexpr char TAG_DESCRIPTION[] = "Description"; -static constexpr char TAG_OFFSET[] = "Offset"; -static constexpr char TAG_POWER[] = "Power"; -static constexpr char TAG_SATNODE[] = "SatNode"; -static constexpr char TAG_SATNODEALT[] = "SATNode"; -static constexpr char TAG_SATURATION[] = "Saturation"; -static constexpr char TAG_SLOPE[] = "Slope"; -static constexpr char TAG_SOPNODE[] = "SOPNode"; +static constexpr const char* ATTR_ID = "id"; +static constexpr const char* ATTR_NAME = "name"; +static constexpr const char* ATTR_XMLNS = "xmlns"; + +static constexpr const char* CDL_TAG_COLOR_CORRECTION = "ColorCorrection"; + +static constexpr const char* TAG_DESCRIPTION = "Description"; +static constexpr const char* TAG_OFFSET = "Offset"; +static constexpr const char* TAG_POWER = "Power"; +static constexpr const char* TAG_SATNODE = "SatNode"; +static constexpr const char* TAG_SATNODEALT = "SATNode"; +static constexpr const char* TAG_SATURATION = "Saturation"; +static constexpr const char* TAG_SLOPE = "Slope"; +static constexpr const char* TAG_SOPNODE = "SOPNode"; // This method truncates a string (mainly used for display purpose). diff --git a/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp b/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp index 982e992f14..ddb1f8eabc 100644 --- a/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp +++ b/src/OpenColorIO/ops/cdl/CDLOpCPU.cpp @@ -132,7 +132,7 @@ inline void ApplyClamp(__m128&) { } -// Apply the power component to the the pixel's values. +// Apply the power component to the pixel's values. // When the template argument is true, the values in pix // are clamped to the range [0,1] and the power operation is // applied. When the argument is false, the values in pix are @@ -154,7 +154,7 @@ inline void ApplyPower(__m128& pix, const __m128& power) pix = sseSelect(negMask, pix, pixPower); } -// Apply the saturation component to the the pixel's values +// Apply the saturation component to the pixel's values inline void ApplySaturation(__m128& pix, const __m128 saturation) { // Compute luma: dot product of pixel values and the luma weights @@ -179,7 +179,7 @@ inline void ApplyScale(float * pix, const float scale) pix[2] = pix[2] * scale; } -// Apply the slope component to the the pixel's values +// Apply the slope component to the pixel's values inline void ApplySlope(float * pix, const float * slope) { pix[0] = pix[0] * slope[0]; @@ -187,7 +187,7 @@ inline void ApplySlope(float * pix, const float * slope) pix[2] = pix[2] * slope[2]; } -// Apply the offset component to the the pixel's values +// Apply the offset component to the pixel's values inline void ApplyOffset(float * pix, const float * offset) { pix[0] = pix[0] + offset[0]; @@ -195,7 +195,7 @@ inline void ApplyOffset(float * pix, const float * offset) pix[2] = pix[2] + offset[2]; } -// Apply the saturation component to the the pixel's values +// Apply the saturation component to the pixel's values inline void ApplySaturation(float * pix, const float saturation) { const float srcpix[3] = { pix[0], pix[1], pix[2] }; @@ -232,7 +232,7 @@ inline void ApplyClamp(float *) { } -// Apply the power component to the the pixel's values. +// Apply the power component to the pixel's values. // When the template argument is true, the values in pix // are clamped to the range [0,1] and the power operation is // applied. When the argument is false, the values in pix are diff --git a/src/OpenColorIO/ops/gradingprimary/GradingPrimaryOpCPU.cpp b/src/OpenColorIO/ops/gradingprimary/GradingPrimaryOpCPU.cpp index f0e73d648f..760bd78b60 100644 --- a/src/OpenColorIO/ops/gradingprimary/GradingPrimaryOpCPU.cpp +++ b/src/OpenColorIO/ops/gradingprimary/GradingPrimaryOpCPU.cpp @@ -190,7 +190,7 @@ inline void ApplyLinContrast(float * pix, const float * contrast, const float pi pix[2] = std::pow(std::abs(pix[2] / pivot), contrast[2]) * std::copysign(pivot, pix[2]); } -// Apply the slope component to the the pixel's values +// Apply the slope component to the pixel's values inline void ApplySlope(float * pix, const float * slope) { pix[0] = pix[0] * slope[0]; @@ -198,7 +198,7 @@ inline void ApplySlope(float * pix, const float * slope) pix[2] = pix[2] * slope[2]; } -// Apply the offset component to the the pixel's values. +// Apply the offset component to the pixel's values. inline void ApplyOffset(float * pix, const float * m_offset) { pix[0] = pix[0] + m_offset[0]; @@ -216,7 +216,7 @@ inline void ApplyGamma(float * pix, const float * gamma, float blackPivot, float std::copysign(1.f, pix[2] - blackPivot) * (whitePivot - blackPivot) + blackPivot; } -// Apply the saturation component to the the pixel's values. +// Apply the saturation component to the pixel's values. inline void ApplySaturation(float * pix, const float m_saturation) { if (m_saturation != 1.f) diff --git a/src/OpenColorIO/ops/gradingtone/GradingTone.cpp b/src/OpenColorIO/ops/gradingtone/GradingTone.cpp index 932b0a6d14..4851e72cb5 100644 --- a/src/OpenColorIO/ops/gradingtone/GradingTone.cpp +++ b/src/OpenColorIO/ops/gradingtone/GradingTone.cpp @@ -60,7 +60,7 @@ void GradingTone::validate() const static constexpr double MinSHTol = MinSH - Error; static constexpr double MaxSHTol = MaxSH + Error; static constexpr double MinWSCTol = MinWSC - Error; - static constexpr double MaxSCTol = MaxSC - Error; + static constexpr double MaxSCTol = MaxSC + Error; { const auto & bd = m_blacks; diff --git a/src/OpenColorIO/transforms/CDLTransform.cpp b/src/OpenColorIO/transforms/CDLTransform.cpp index 393bec4dbe..a6ac91891b 100755 --- a/src/OpenColorIO/transforms/CDLTransform.cpp +++ b/src/OpenColorIO/transforms/CDLTransform.cpp @@ -7,7 +7,6 @@ #include -#include "fileformats/cdl/CDLParser.h" #include "Logging.h" #include "MathUtils.h" #include "Mutex.h" diff --git a/src/apps/ocioarchive/CMakeLists.txt b/src/apps/ocioarchive/CMakeLists.txt index 599d706f09..b8af2808fb 100644 --- a/src/apps/ocioarchive/CMakeLists.txt +++ b/src/apps/ocioarchive/CMakeLists.txt @@ -30,3 +30,7 @@ ocio_strip_binary(ocioarchive) install(TARGETS ocioarchive RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ocioarchive) diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt index 3d6e586b96..09cd76b137 100755 --- a/src/apps/ociobakelut/CMakeLists.txt +++ b/src/apps/ociobakelut/CMakeLists.txt @@ -39,3 +39,7 @@ ocio_strip_binary(ociobakelut) install(TARGETS ociobakelut RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociobakelut) diff --git a/src/apps/ociocheck/CMakeLists.txt b/src/apps/ociocheck/CMakeLists.txt index 024139546d..50955bc0d7 100755 --- a/src/apps/ociocheck/CMakeLists.txt +++ b/src/apps/ociocheck/CMakeLists.txt @@ -28,3 +28,7 @@ ocio_strip_binary(ociocheck) install(TARGETS ociocheck RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociocheck) diff --git a/src/apps/ociochecklut/CMakeLists.txt b/src/apps/ociochecklut/CMakeLists.txt index 431b1b79fb..f4662f1b02 100644 --- a/src/apps/ociochecklut/CMakeLists.txt +++ b/src/apps/ociochecklut/CMakeLists.txt @@ -36,3 +36,7 @@ ocio_strip_binary(ociochecklut) install(TARGETS ociochecklut RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociochecklut NEEDS_GL) \ No newline at end of file diff --git a/src/apps/ocioconvert/CMakeLists.txt b/src/apps/ocioconvert/CMakeLists.txt index 7b7abddcf2..1172588111 100755 --- a/src/apps/ocioconvert/CMakeLists.txt +++ b/src/apps/ocioconvert/CMakeLists.txt @@ -40,3 +40,7 @@ ocio_strip_binary(ocioconvert) install(TARGETS ocioconvert RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ocioconvert NEEDS_GL) diff --git a/src/apps/ociodisplay/CMakeLists.txt b/src/apps/ociodisplay/CMakeLists.txt index 14b53cfda3..9261f1cab4 100755 --- a/src/apps/ociodisplay/CMakeLists.txt +++ b/src/apps/ociodisplay/CMakeLists.txt @@ -53,3 +53,7 @@ ocio_strip_binary(ociodisplay) install(TARGETS ociodisplay RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociodisplay NEEDS_GL) diff --git a/src/apps/ociolutimage/CMakeLists.txt b/src/apps/ociolutimage/CMakeLists.txt index a470d2f6eb..07bdad9307 100755 --- a/src/apps/ociolutimage/CMakeLists.txt +++ b/src/apps/ociolutimage/CMakeLists.txt @@ -33,3 +33,7 @@ ocio_strip_binary(ociolutimage) install(TARGETS ociolutimage RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociolutimage) diff --git a/src/apps/ociomakeclf/CMakeLists.txt b/src/apps/ociomakeclf/CMakeLists.txt index fc3bd8e9f1..42028303ba 100644 --- a/src/apps/ociomakeclf/CMakeLists.txt +++ b/src/apps/ociomakeclf/CMakeLists.txt @@ -29,3 +29,7 @@ ocio_strip_binary(ociomakeclf) install(TARGETS ociomakeclf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociomakeclf) diff --git a/src/apps/ociomakeclf/main.cpp b/src/apps/ociomakeclf/main.cpp index b79c771328..32bef97994 100644 --- a/src/apps/ociomakeclf/main.cpp +++ b/src/apps/ociomakeclf/main.cpp @@ -31,7 +31,7 @@ static int parse_end_args(int argc, const char * argv[]) return 0; } -void CreateOutputLutFile(const std::string & outLutFilepath, OCIO::ConstGroupTransformRcPtr transform) +void CreateOutputLutFile(const std::string & outLutFilepath, OCIO::ConstGroupTransformRcPtr transform, bool generateId) { // Get the processor. @@ -55,7 +55,15 @@ void CreateOutputLutFile(const std::string & outLutFilepath, OCIO::ConstGroupTra try { const auto group = optProcessor->createGroupTransform(); - group->write(config, "Academy/ASC Common LUT Format", outfs); + + if(generateId) + { + std::ostringstream ss; + ss << "urn:uuid:" << optProcessor->getCacheID(); + group->getFormatMetadata().addChildElement("Id", ss.str().c_str()); + } + + group->write(config, "Academy/ASC Common LUT Format", outfs); } catch (const OCIO::Exception &) { @@ -79,11 +87,17 @@ void CreateOutputLutFile(const std::string & outLutFilepath, OCIO::ConstGroupTra int main(int argc, const char ** argv) { - bool help = false, verbose = false, measure = false, listCSCColorSpaces = false; + bool help = false; + bool verbose = false; + bool measure = false; + bool listCSCColorSpaces = false; + bool generateId = false; std::string cscColorSpace; ArgParse ap; ap.options("ociomakeclf -- Convert a LUT into CLF format and optionally add conversions from/to ACES2065-1 to make it an LMT.\n" + " The generated file should be compatible with both SMPTE ST 2136-1 as well as the previous\n" + " Academy/ASC v3 version.\n" " If the csc argument is used, the CLF will contain the transforms:\n" " [ACES2065-1 to CSC space] [the LUT] [CSC space to ACES2065-1].\n\n" "usage: ociomakeclf inLutFilepath outLutFilepath --csc cscColorSpace\n" @@ -96,6 +110,7 @@ int main(int argc, const char ** argv) "--measure", &measure, "Measure (in ms) the CLF write", "--list", &listCSCColorSpaces, "List of the supported CSC color spaces", "--csc %s", &cscColorSpace, "The color space that the input LUT expects and produces", + "--generateid",&generateId, "Generates an id based on content and writes in SMPTE Id element format", nullptr); if (ap.parse(argc, argv) < 0) @@ -266,12 +281,12 @@ int main(int argc, const char ** argv) m.resume(); // Create the CLF file. - CreateOutputLutFile(outLutFilepath, grp); + CreateOutputLutFile(outLutFilepath, grp, generateId); } else { // Create the CLF file. - CreateOutputLutFile(outLutFilepath, grp); + CreateOutputLutFile(outLutFilepath, grp, generateId); } } catch (OCIO::Exception & ex) diff --git a/src/apps/ociomergeconfigs/CMakeLists.txt b/src/apps/ociomergeconfigs/CMakeLists.txt index 5a2a5bbe12..d78609112a 100644 --- a/src/apps/ociomergeconfigs/CMakeLists.txt +++ b/src/apps/ociomergeconfigs/CMakeLists.txt @@ -30,3 +30,7 @@ ocio_strip_binary(ociomergeconfigs) install(TARGETS ociomergeconfigs RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociomergeconfigs) diff --git a/src/apps/ocioperf/CMakeLists.txt b/src/apps/ocioperf/CMakeLists.txt index c056080bc5..541439e720 100644 --- a/src/apps/ocioperf/CMakeLists.txt +++ b/src/apps/ocioperf/CMakeLists.txt @@ -25,3 +25,7 @@ ocio_strip_binary(ocioperf) install(TARGETS ocioperf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ocioperf) diff --git a/src/apps/ociowrite/CMakeLists.txt b/src/apps/ociowrite/CMakeLists.txt index bd77acfea6..ebaf60dc90 100644 --- a/src/apps/ociowrite/CMakeLists.txt +++ b/src/apps/ociowrite/CMakeLists.txt @@ -24,3 +24,7 @@ ocio_strip_binary(ociowrite) install(TARGETS ociowrite RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) + +# Set the debugger environment so that the executable can be launched +# directly within IDE (e.g. Visual Studio). +set_debugger_env(ociowrite) diff --git a/src/bindings/python/PyGradingData.cpp b/src/bindings/python/PyGradingData.cpp index a1a093d7b3..c34179cf4e 100644 --- a/src/bindings/python/PyGradingData.cpp +++ b/src/bindings/python/PyGradingData.cpp @@ -21,11 +21,14 @@ using GradingControlPointIterator = PyIteratorsetSplineType(from->getSplineType()); + const size_t numPt = from->getNumControlPoints(); to->setNumControlPoints(numPt); for (size_t pt = 0; pt < numPt; ++pt) { to->getControlPoint(pt) = from->getControlPoint(pt); + to->setSlope(pt, from->getSlope(pt)); } } diff --git a/src/bindings/python/PyTypes.cpp b/src/bindings/python/PyTypes.cpp index 3305bdbf18..e109708c35 100644 --- a/src/bindings/python/PyTypes.cpp +++ b/src/bindings/python/PyTypes.cpp @@ -971,6 +971,7 @@ void bindPyTypes(py::module & m) m.attr("METADATA_OUTPUT_DESCRIPTOR") = METADATA_OUTPUT_DESCRIPTOR; m.attr("METADATA_NAME") = METADATA_NAME; m.attr("METADATA_ID") = METADATA_ID; + m.attr("METADATA_ID_ELEMENT") = METADATA_ID_ELEMENT; // Caches m.attr("OCIO_DISABLE_ALL_CACHES") = OCIO_DISABLE_ALL_CACHES; diff --git a/src/libutils/oglapphelpers/CMakeLists.txt b/src/libutils/oglapphelpers/CMakeLists.txt index cef50ede1c..207caf8497 100644 --- a/src/libutils/oglapphelpers/CMakeLists.txt +++ b/src/libutils/oglapphelpers/CMakeLists.txt @@ -31,6 +31,21 @@ if(APPLE) endif() +if(OCIO_VULKAN_ENABLED) + + find_package(Vulkan REQUIRED) + find_package(glslang REQUIRED) + + list(APPEND SOURCES + vulkanapp.cpp + ) + + list(APPEND INCLUDES + vulkanapp.h + ) + +endif() + add_library(oglapphelpers STATIC ${SOURCES}) set_target_properties(oglapphelpers PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(oglapphelpers PROPERTIES OUTPUT_NAME OpenColorIOoglapphelpers) @@ -111,6 +126,24 @@ if(APPLE) ) endif() +if(OCIO_VULKAN_ENABLED) + target_include_directories(oglapphelpers + PUBLIC + ${Vulkan_INCLUDE_DIRS} + ) + target_link_libraries(oglapphelpers + PUBLIC + Vulkan::Vulkan + glslang::glslang + glslang::glslang-default-resource-limits + glslang::SPIRV + ) + target_compile_definitions(oglapphelpers + PUBLIC + OCIO_VULKAN_ENABLED + ) +endif() + if(${OCIO_EGL_HEADLESS}) target_include_directories(oglapphelpers PRIVATE diff --git a/src/libutils/oglapphelpers/vulkanapp.cpp b/src/libutils/oglapphelpers/vulkanapp.cpp new file mode 100644 index 0000000000..ef4c4230a7 --- /dev/null +++ b/src/libutils/oglapphelpers/vulkanapp.cpp @@ -0,0 +1,1551 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright Contributors to the OpenColorIO Project. + +#ifdef OCIO_VULKAN_ENABLED + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "vulkanapp.h" + +namespace OCIO_NAMESPACE +{ + +// +// VulkanApp Implementation +// + +VulkanApp::VulkanApp(int bufWidth, int bufHeight) + : m_bufferWidth(bufWidth) + , m_bufferHeight(bufHeight) +{ + initVulkan(); +} + +VulkanApp::~VulkanApp() +{ + cleanup(); +} + +void VulkanApp::initVulkan() +{ + // Create Vulkan instance + VkApplicationInfo appInfo{}; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "OCIO GPU Test"; + appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.pEngineName = "OCIO"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.apiVersion = VK_API_VERSION_1_2; + + VkInstanceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + createInfo.pApplicationInfo = &appInfo; + + // Required extensions for MoltenVK on macOS + std::vector extensions; +#ifdef __APPLE__ + extensions.push_back(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME); + createInfo.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR; +#endif + + createInfo.enabledExtensionCount = static_cast(extensions.size()); + createInfo.ppEnabledExtensionNames = extensions.data(); + + if (m_enableValidationLayers) + { + createInfo.enabledLayerCount = static_cast(m_validationLayers.size()); + createInfo.ppEnabledLayerNames = m_validationLayers.data(); + } + else + { + createInfo.enabledLayerCount = 0; + } + + if (vkCreateInstance(&createInfo, nullptr, &m_instance) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create Vulkan instance"); + } + + // Select physical device + uint32_t deviceCount = 0; + vkEnumeratePhysicalDevices(m_instance, &deviceCount, nullptr); + + if (deviceCount == 0) + { + throw std::runtime_error("Failed to find GPUs with Vulkan support"); + } + + std::vector devices(deviceCount); + vkEnumeratePhysicalDevices(m_instance, &deviceCount, devices.data()); + + // Find a device with compute queue support + for (const auto & device : devices) + { + uint32_t queueFamilyCount = 0; + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr); + + std::vector queueFamilies(queueFamilyCount); + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data()); + + for (uint32_t i = 0; i < queueFamilyCount; i++) + { + if (queueFamilies[i].queueFlags & VK_QUEUE_COMPUTE_BIT) + { + m_physicalDevice = device; + m_computeQueueFamilyIndex = i; + break; + } + } + + if (m_physicalDevice != VK_NULL_HANDLE) + { + break; + } + } + + if (m_physicalDevice == VK_NULL_HANDLE) + { + throw std::runtime_error("Failed to find a suitable GPU with compute support"); + } + + // Print GPU information for diagnostics + VkPhysicalDeviceProperties deviceProperties; + vkGetPhysicalDeviceProperties(m_physicalDevice, &deviceProperties); + std::cout << "Vulkan GPU: " << deviceProperties.deviceName << std::endl; + std::cout << " Device Type: "; + switch (deviceProperties.deviceType) + { + case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU: std::cout << "Discrete GPU"; break; + case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU: std::cout << "Integrated GPU"; break; + case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU: std::cout << "Virtual GPU"; break; + case VK_PHYSICAL_DEVICE_TYPE_CPU: std::cout << "CPU (Software)"; break; + case VK_PHYSICAL_DEVICE_TYPE_OTHER: + case VK_PHYSICAL_DEVICE_TYPE_MAX_ENUM: + default: std::cout << "Other"; break; + } + std::cout << std::endl; + std::cout << " API Version: " << VK_VERSION_MAJOR(deviceProperties.apiVersion) << "." + << VK_VERSION_MINOR(deviceProperties.apiVersion) << "." + << VK_VERSION_PATCH(deviceProperties.apiVersion) << std::endl; + + // Create logical device + float queuePriority = 1.0f; + VkDeviceQueueCreateInfo queueCreateInfo{}; + queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queueCreateInfo.queueFamilyIndex = m_computeQueueFamilyIndex; + queueCreateInfo.queueCount = 1; + queueCreateInfo.pQueuePriorities = &queuePriority; + + VkPhysicalDeviceFeatures deviceFeatures{}; + + VkDeviceCreateInfo deviceCreateInfo{}; + deviceCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + deviceCreateInfo.pQueueCreateInfos = &queueCreateInfo; + deviceCreateInfo.queueCreateInfoCount = 1; + deviceCreateInfo.pEnabledFeatures = &deviceFeatures; + deviceCreateInfo.enabledExtensionCount = 0; + + if (m_enableValidationLayers) + { + deviceCreateInfo.enabledLayerCount = static_cast(m_validationLayers.size()); + deviceCreateInfo.ppEnabledLayerNames = m_validationLayers.data(); + } + else + { + deviceCreateInfo.enabledLayerCount = 0; + } + + if (vkCreateDevice(m_physicalDevice, &deviceCreateInfo, nullptr, &m_device) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create logical device"); + } + + vkGetDeviceQueue(m_device, m_computeQueueFamilyIndex, 0, &m_computeQueue); + + // Create command pool + VkCommandPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + poolInfo.queueFamilyIndex = m_computeQueueFamilyIndex; + poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; + + if (vkCreateCommandPool(m_device, &poolInfo, nullptr, &m_commandPool) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create command pool"); + } + + // Allocate command buffer + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = m_commandPool; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = 1; + + if (vkAllocateCommandBuffers(m_device, &allocInfo, &m_commandBuffer) != VK_SUCCESS) + { + throw std::runtime_error("Failed to allocate command buffer"); + } + + m_initialized = true; +} + +void VulkanApp::cleanup() +{ + if (m_device != VK_NULL_HANDLE) + { + vkDeviceWaitIdle(m_device); + + // Destroy VulkanBuilder first (it holds shader module references) + m_vulkanBuilder.reset(); + + if (m_computePipeline != VK_NULL_HANDLE) + { + vkDestroyPipeline(m_device, m_computePipeline, nullptr); + } + if (m_pipelineLayout != VK_NULL_HANDLE) + { + vkDestroyPipelineLayout(m_device, m_pipelineLayout, nullptr); + } + if (m_descriptorSetLayout != VK_NULL_HANDLE) + { + vkDestroyDescriptorSetLayout(m_device, m_descriptorSetLayout, nullptr); + } + if (m_descriptorPool != VK_NULL_HANDLE) + { + vkDestroyDescriptorPool(m_device, m_descriptorPool, nullptr); + } + if (m_computeShaderModule != VK_NULL_HANDLE) + { + vkDestroyShaderModule(m_device, m_computeShaderModule, nullptr); + } + + if (m_inputBuffer != VK_NULL_HANDLE) + { + vkDestroyBuffer(m_device, m_inputBuffer, nullptr); + } + if (m_inputBufferMemory != VK_NULL_HANDLE) + { + vkFreeMemory(m_device, m_inputBufferMemory, nullptr); + } + if (m_outputBuffer != VK_NULL_HANDLE) + { + vkDestroyBuffer(m_device, m_outputBuffer, nullptr); + } + if (m_outputBufferMemory != VK_NULL_HANDLE) + { + vkFreeMemory(m_device, m_outputBufferMemory, nullptr); + } + if (m_stagingBuffer != VK_NULL_HANDLE) + { + vkDestroyBuffer(m_device, m_stagingBuffer, nullptr); + } + if (m_stagingBufferMemory != VK_NULL_HANDLE) + { + vkFreeMemory(m_device, m_stagingBufferMemory, nullptr); + } + + if (m_commandPool != VK_NULL_HANDLE) + { + vkDestroyCommandPool(m_device, m_commandPool, nullptr); + } + + vkDestroyDevice(m_device, nullptr); + } + + if (m_instance != VK_NULL_HANDLE) + { + vkDestroyInstance(m_instance, nullptr); + } +} + +uint32_t VulkanApp::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) +{ + VkPhysicalDeviceMemoryProperties memProperties; + vkGetPhysicalDeviceMemoryProperties(m_physicalDevice, &memProperties); + + for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) + { + if ((typeFilter & (1 << i)) && + (memProperties.memoryTypes[i].propertyFlags & properties) == properties) + { + return i; + } + } + + throw std::runtime_error("Failed to find suitable memory type"); +} + +void VulkanApp::createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, + VkMemoryPropertyFlags properties, VkBuffer & buffer, + VkDeviceMemory & bufferMemory) +{ + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = size; + bufferInfo.usage = usage; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if (vkCreateBuffer(m_device, &bufferInfo, nullptr, &buffer) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create buffer"); + } + + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(m_device, buffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(m_device, &allocInfo, nullptr, &bufferMemory) != VK_SUCCESS) + { + throw std::runtime_error("Failed to allocate buffer memory"); + } + + vkBindBufferMemory(m_device, buffer, bufferMemory, 0); +} + +void VulkanApp::copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size) +{ + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(m_commandBuffer, &beginInfo); + + VkBufferCopy copyRegion{}; + copyRegion.size = size; + vkCmdCopyBuffer(m_commandBuffer, srcBuffer, dstBuffer, 1, ©Region); + + vkEndCommandBuffer(m_commandBuffer); + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &m_commandBuffer; + + vkQueueSubmit(m_computeQueue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(m_computeQueue); + + vkResetCommandBuffer(m_commandBuffer, 0); +} + +void VulkanApp::initImage(int imageWidth, int imageHeight, Components comp, const float * imageBuffer) +{ + m_imageWidth = imageWidth; + m_imageHeight = imageHeight; + m_components = comp; + + createBuffers(); + updateImage(imageBuffer); +} + +void VulkanApp::createBuffers() +{ + const int numComponents = (m_components == COMPONENTS_RGB) ? 3 : 4; + const VkDeviceSize bufferSize = m_imageWidth * m_imageHeight * numComponents * sizeof(float); + + // Create staging buffer (CPU accessible) + createBuffer(bufferSize, + VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, + m_stagingBuffer, m_stagingBufferMemory); + + // Create input buffer (GPU only) + createBuffer(bufferSize, + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, + m_inputBuffer, m_inputBufferMemory); + + // Create output buffer (GPU only) + createBuffer(bufferSize, + VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_SRC_BIT, + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, + m_outputBuffer, m_outputBufferMemory); +} + +void VulkanApp::updateImage(const float * imageBuffer) +{ + const int numComponents = (m_components == COMPONENTS_RGB) ? 3 : 4; + const VkDeviceSize bufferSize = m_imageWidth * m_imageHeight * numComponents * sizeof(float); + + // Copy data to staging buffer + void * data; + vkMapMemory(m_device, m_stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(data, imageBuffer, static_cast(bufferSize)); + vkUnmapMemory(m_device, m_stagingBufferMemory); + + // Copy from staging to input buffer + copyBuffer(m_stagingBuffer, m_inputBuffer, bufferSize); +} + +void VulkanApp::setShader(GpuShaderDescRcPtr & shaderDesc) +{ + if (!m_vulkanBuilder) + { + m_vulkanBuilder = std::make_shared(m_device, m_physicalDevice, + m_commandPool, m_computeQueue); + } + + // Allocate textures and uniforms before building shader + m_vulkanBuilder->allocateAllTextures(shaderDesc); + m_vulkanBuilder->buildShader(shaderDesc); + + if (m_printShader) + { + std::cout << "Vulkan Compute Shader:\n" << m_vulkanBuilder->getShaderSource() << std::endl; + } + + createComputePipeline(); +} + +void VulkanApp::createComputePipeline() +{ + // Create descriptor set layout + // Use bindings 1 and 2 for input/output buffers + // OCIO uses binding 0 for uniforms and 3+ for textures (via setDescriptorSetIndex(0, 3)) + std::vector bindings = { + // Input buffer binding + {1, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1, VK_SHADER_STAGE_COMPUTE_BIT, nullptr}, + // Output buffer binding + {2, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1, VK_SHADER_STAGE_COMPUTE_BIT, nullptr} + }; + + // Add texture and uniform bindings from shader builder + auto textureBindings = m_vulkanBuilder->getDescriptorSetLayoutBindings(); + bindings.insert(bindings.end(), textureBindings.begin(), textureBindings.end()); + + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = static_cast(bindings.size()); + layoutInfo.pBindings = bindings.data(); + + if (vkCreateDescriptorSetLayout(m_device, &layoutInfo, nullptr, &m_descriptorSetLayout) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create descriptor set layout"); + } + + // Create pipeline layout + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &m_descriptorSetLayout; + + if (vkCreatePipelineLayout(m_device, &pipelineLayoutInfo, nullptr, &m_pipelineLayout) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create pipeline layout"); + } + + // Create compute pipeline + VkComputePipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; + pipelineInfo.layout = m_pipelineLayout; + pipelineInfo.stage.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + pipelineInfo.stage.stage = VK_SHADER_STAGE_COMPUTE_BIT; + pipelineInfo.stage.module = m_vulkanBuilder->getShaderModule(); + pipelineInfo.stage.pName = "main"; + + if (vkCreateComputePipelines(m_device, VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &m_computePipeline) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create compute pipeline"); + } + + // Create descriptor pool with sizes from VulkanBuilder + std::vector poolSizes = m_vulkanBuilder->getDescriptorPoolSizes(); + + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = static_cast(poolSizes.size()); + poolInfo.pPoolSizes = poolSizes.data(); + poolInfo.maxSets = 1; + + if (vkCreateDescriptorPool(m_device, &poolInfo, nullptr, &m_descriptorPool) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create descriptor pool"); + } + + // Allocate descriptor set + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = m_descriptorPool; + allocInfo.descriptorSetCount = 1; + allocInfo.pSetLayouts = &m_descriptorSetLayout; + + if (vkAllocateDescriptorSets(m_device, &allocInfo, &m_descriptorSet) != VK_SUCCESS) + { + throw std::runtime_error("Failed to allocate descriptor set"); + } + + // Update descriptor set with buffer bindings + const int numComponents = (m_components == COMPONENTS_RGB) ? 3 : 4; + const VkDeviceSize bufferSize = m_imageWidth * m_imageHeight * numComponents * sizeof(float); + + VkDescriptorBufferInfo inputBufferInfo{}; + inputBufferInfo.buffer = m_inputBuffer; + inputBufferInfo.offset = 0; + inputBufferInfo.range = bufferSize; + + VkDescriptorBufferInfo outputBufferInfo{}; + outputBufferInfo.buffer = m_outputBuffer; + outputBufferInfo.offset = 0; + outputBufferInfo.range = bufferSize; + + // Use bindings 1 and 2 for input/output buffers + // OCIO uses binding 0 for uniforms and 3+ for textures (via setDescriptorSetIndex(0, 3)) + std::vector descriptorWrites = { + {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, nullptr, m_descriptorSet, 1, 0, 1, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, nullptr, &inputBufferInfo, nullptr}, + {VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET, nullptr, m_descriptorSet, 2, 0, 1, + VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, nullptr, &outputBufferInfo, nullptr} + }; + + vkUpdateDescriptorSets(m_device, static_cast(descriptorWrites.size()), + descriptorWrites.data(), 0, nullptr); + + // Update texture and uniform bindings + m_vulkanBuilder->updateDescriptorSet(m_descriptorSet); +} + +void VulkanApp::reshape(int width, int height) +{ + m_bufferWidth = width; + m_bufferHeight = height; +} + +void VulkanApp::redisplay() +{ + // Update uniform values before dispatch (for dynamic parameters) + if (m_vulkanBuilder) + { + m_vulkanBuilder->updateUniforms(); + } + + // Record command buffer + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(m_commandBuffer, &beginInfo); + + vkCmdBindPipeline(m_commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, m_computePipeline); + vkCmdBindDescriptorSets(m_commandBuffer, VK_PIPELINE_BIND_POINT_COMPUTE, + m_pipelineLayout, 0, 1, &m_descriptorSet, 0, nullptr); + + // Dispatch compute shader + const uint32_t groupCountX = (m_imageWidth + 15) / 16; + const uint32_t groupCountY = (m_imageHeight + 15) / 16; + vkCmdDispatch(m_commandBuffer, groupCountX, groupCountY, 1); + + vkEndCommandBuffer(m_commandBuffer); + + // Submit command buffer + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &m_commandBuffer; + + vkQueueSubmit(m_computeQueue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(m_computeQueue); + + vkResetCommandBuffer(m_commandBuffer, 0); +} + +void VulkanApp::readImage(float * imageBuffer) +{ + const int numComponents = (m_components == COMPONENTS_RGB) ? 3 : 4; + const VkDeviceSize bufferSize = m_imageWidth * m_imageHeight * numComponents * sizeof(float); + + // Copy from output buffer to staging buffer + copyBuffer(m_outputBuffer, m_stagingBuffer, bufferSize); + + // Read from staging buffer + void * data; + vkMapMemory(m_device, m_stagingBufferMemory, 0, bufferSize, 0, &data); + memcpy(imageBuffer, data, static_cast(bufferSize)); + vkUnmapMemory(m_device, m_stagingBufferMemory); +} + +void VulkanApp::printVulkanInfo() const noexcept +{ + if (m_physicalDevice == VK_NULL_HANDLE) + { + std::cout << "Vulkan not initialized" << std::endl; + return; + } + + VkPhysicalDeviceProperties properties; + vkGetPhysicalDeviceProperties(m_physicalDevice, &properties); + + std::cout << "Vulkan Device: " << properties.deviceName << std::endl; + std::cout << "Vulkan API Version: " + << VK_VERSION_MAJOR(properties.apiVersion) << "." + << VK_VERSION_MINOR(properties.apiVersion) << "." + << VK_VERSION_PATCH(properties.apiVersion) << std::endl; + std::cout << "Driver Version: " << properties.driverVersion << std::endl; +} + +VulkanAppRcPtr VulkanApp::CreateVulkanApp(int bufWidth, int bufHeight) +{ + return std::make_shared(bufWidth, bufHeight); +} + +// +// VulkanBuilder Implementation +// + +VulkanBuilder::VulkanBuilder(VkDevice device, VkPhysicalDevice physicalDevice, + VkCommandPool commandPool, VkQueue queue) + : m_device(device) + , m_physicalDevice(physicalDevice) + , m_commandPool(commandPool) + , m_queue(queue) +{ +} + +VulkanBuilder::~VulkanBuilder() +{ + deleteAllTextures(); + deleteUniformBuffer(); + + if (m_device != VK_NULL_HANDLE && m_shaderModule != VK_NULL_HANDLE) + { + vkDestroyShaderModule(m_device, m_shaderModule, nullptr); + } +} + +void VulkanBuilder::deleteAllTextures() +{ + if (m_device == VK_NULL_HANDLE) return; + + auto deleteTextures = [this](std::vector & textures) { + for (auto & tex : textures) + { + if (tex.sampler != VK_NULL_HANDLE) + vkDestroySampler(m_device, tex.sampler, nullptr); + if (tex.imageView != VK_NULL_HANDLE) + vkDestroyImageView(m_device, tex.imageView, nullptr); + if (tex.image != VK_NULL_HANDLE) + vkDestroyImage(m_device, tex.image, nullptr); + if (tex.memory != VK_NULL_HANDLE) + vkFreeMemory(m_device, tex.memory, nullptr); + } + textures.clear(); + }; + + deleteTextures(m_textures3D); + deleteTextures(m_textures1D2D); +} + +void VulkanBuilder::deleteUniformBuffer() +{ + if (m_device == VK_NULL_HANDLE) return; + + if (m_uniformBuffer != VK_NULL_HANDLE) + { + vkDestroyBuffer(m_device, m_uniformBuffer, nullptr); + m_uniformBuffer = VK_NULL_HANDLE; + } + if (m_uniformBufferMemory != VK_NULL_HANDLE) + { + vkFreeMemory(m_device, m_uniformBufferMemory, nullptr); + m_uniformBufferMemory = VK_NULL_HANDLE; + } + m_uniformBufferSize = 0; + m_uniforms.clear(); +} + +uint32_t VulkanBuilder::findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties) +{ + VkPhysicalDeviceMemoryProperties memProperties; + vkGetPhysicalDeviceMemoryProperties(m_physicalDevice, &memProperties); + + for (uint32_t i = 0; i < memProperties.memoryTypeCount; i++) + { + if ((typeFilter & (1 << i)) && + (memProperties.memoryTypes[i].propertyFlags & properties) == properties) + { + return i; + } + } + throw std::runtime_error("Failed to find suitable memory type"); +} + +void VulkanBuilder::createImage(uint32_t width, uint32_t height, uint32_t depth, + VkFormat format, VkImageType imageType, + VkImageUsageFlags usage, VkMemoryPropertyFlags properties, + VkImage & image, VkDeviceMemory & imageMemory) +{ + VkImageCreateInfo imageInfo{}; + imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageInfo.imageType = imageType; + imageInfo.extent.width = width; + imageInfo.extent.height = height; + imageInfo.extent.depth = depth; + imageInfo.mipLevels = 1; + imageInfo.arrayLayers = 1; + imageInfo.format = format; + imageInfo.tiling = VK_IMAGE_TILING_OPTIMAL; + imageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + imageInfo.usage = usage; + imageInfo.samples = VK_SAMPLE_COUNT_1_BIT; + imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if (vkCreateImage(m_device, &imageInfo, nullptr, &image) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create image"); + } + + VkMemoryRequirements memRequirements; + vkGetImageMemoryRequirements(m_device, image, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, properties); + + if (vkAllocateMemory(m_device, &allocInfo, nullptr, &imageMemory) != VK_SUCCESS) + { + throw std::runtime_error("Failed to allocate image memory"); + } + + vkBindImageMemory(m_device, image, imageMemory, 0); +} + +VkImageView VulkanBuilder::createImageView(VkImage image, VkFormat format, VkImageViewType viewType) +{ + VkImageViewCreateInfo viewInfo{}; + viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + viewInfo.image = image; + viewInfo.viewType = viewType; + viewInfo.format = format; + viewInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + viewInfo.subresourceRange.baseMipLevel = 0; + viewInfo.subresourceRange.levelCount = 1; + viewInfo.subresourceRange.baseArrayLayer = 0; + viewInfo.subresourceRange.layerCount = 1; + + VkImageView imageView; + if (vkCreateImageView(m_device, &viewInfo, nullptr, &imageView) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create image view"); + } + return imageView; +} + +VkSampler VulkanBuilder::createSampler(Interpolation interpolation) +{ + VkSamplerCreateInfo samplerInfo{}; + samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + + if (interpolation == INTERP_NEAREST) + { + samplerInfo.magFilter = VK_FILTER_NEAREST; + samplerInfo.minFilter = VK_FILTER_NEAREST; + } + else + { + samplerInfo.magFilter = VK_FILTER_LINEAR; + samplerInfo.minFilter = VK_FILTER_LINEAR; + } + + samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.anisotropyEnable = VK_FALSE; + samplerInfo.maxAnisotropy = 1.0f; + samplerInfo.borderColor = VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK; + samplerInfo.unnormalizedCoordinates = VK_FALSE; + samplerInfo.compareEnable = VK_FALSE; + samplerInfo.compareOp = VK_COMPARE_OP_ALWAYS; + samplerInfo.mipmapMode = VK_SAMPLER_MIPMAP_MODE_LINEAR; + samplerInfo.mipLodBias = 0.0f; + samplerInfo.minLod = 0.0f; + samplerInfo.maxLod = 0.0f; + + VkSampler sampler; + if (vkCreateSampler(m_device, &samplerInfo, nullptr, &sampler) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create sampler"); + } + return sampler; +} + +void VulkanBuilder::transitionImageLayout(VkImage image, VkFormat /*format*/, + VkImageLayout oldLayout, VkImageLayout newLayout) +{ + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandPool = m_commandPool; + allocInfo.commandBufferCount = 1; + + VkCommandBuffer commandBuffer; + vkAllocateCommandBuffers(m_device, &allocInfo, &commandBuffer); + + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(commandBuffer, &beginInfo); + + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.oldLayout = oldLayout; + barrier.newLayout = newLayout; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.image = image; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = 1; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + + VkPipelineStageFlags sourceStage; + VkPipelineStageFlags destinationStage; + + if (oldLayout == VK_IMAGE_LAYOUT_UNDEFINED && newLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL) + { + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + destinationStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + } + else if (oldLayout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL && newLayout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) + { + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + sourceStage = VK_PIPELINE_STAGE_TRANSFER_BIT; + destinationStage = VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; + } + else + { + throw std::runtime_error("Unsupported layout transition"); + } + + vkCmdPipelineBarrier(commandBuffer, sourceStage, destinationStage, 0, + 0, nullptr, 0, nullptr, 1, &barrier); + + vkEndCommandBuffer(commandBuffer); + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &commandBuffer; + + vkQueueSubmit(m_queue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(m_queue); + + vkFreeCommandBuffers(m_device, m_commandPool, 1, &commandBuffer); +} + +void VulkanBuilder::copyBufferToImage(VkBuffer buffer, VkImage image, + uint32_t width, uint32_t height, uint32_t depth) +{ + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandPool = m_commandPool; + allocInfo.commandBufferCount = 1; + + VkCommandBuffer commandBuffer; + vkAllocateCommandBuffers(m_device, &allocInfo, &commandBuffer); + + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; + + vkBeginCommandBuffer(commandBuffer, &beginInfo); + + VkBufferImageCopy region{}; + region.bufferOffset = 0; + region.bufferRowLength = 0; + region.bufferImageHeight = 0; + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + region.imageOffset = {0, 0, 0}; + region.imageExtent = {width, height, depth}; + + vkCmdCopyBufferToImage(commandBuffer, buffer, image, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); + + vkEndCommandBuffer(commandBuffer); + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &commandBuffer; + + vkQueueSubmit(m_queue, 1, &submitInfo, VK_NULL_HANDLE); + vkQueueWaitIdle(m_queue); + + vkFreeCommandBuffers(m_device, m_commandPool, 1, &commandBuffer); +} + +void VulkanBuilder::createUniformBuffer(GpuShaderDescRcPtr & shaderDesc) +{ + deleteUniformBuffer(); + + const unsigned numUniforms = shaderDesc->getNumUniforms(); + if (numUniforms == 0) return; + + // Use OCIO's provided buffer size and offsets - these are calculated correctly + // for the scalar layout used in Vulkan shaders + m_uniformBufferSize = shaderDesc->getUniformBufferSize(); + if (m_uniformBufferSize == 0) return; + + // Store uniform metadata using OCIO's provided offsets + for (unsigned idx = 0; idx < numUniforms; ++idx) + { + GpuShaderDesc::UniformData data; + const char * name = shaderDesc->getUniform(idx, data); + + UniformData uniformData; + uniformData.name = name; + uniformData.data = data; + uniformData.offset = data.m_bufferOffset; // Use OCIO's calculated offset + + // Calculate size based on type (for debugging/verification) + if (data.m_getDouble) + { + uniformData.size = sizeof(float); + } + else if (data.m_getBool) + { + uniformData.size = sizeof(int); + } + else if (data.m_getFloat3) + { + uniformData.size = 3 * sizeof(float); + } + else if (data.m_vectorFloat.m_getSize) + { + // Size will be determined when writing data + uniformData.size = 0; + } + else if (data.m_vectorInt.m_getSize) + { + // Size will be determined when writing data + uniformData.size = 0; + } + else + { + std::cerr << "Warning: Unknown uniform type for '" << name << "'" << std::endl; + continue; + } + + m_uniforms.push_back(uniformData); + } + + // Create uniform buffer + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = m_uniformBufferSize; + bufferInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if (vkCreateBuffer(m_device, &bufferInfo, nullptr, &m_uniformBuffer) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create uniform buffer"); + } + + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(m_device, m_uniformBuffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT); + + if (vkAllocateMemory(m_device, &allocInfo, nullptr, &m_uniformBufferMemory) != VK_SUCCESS) + { + throw std::runtime_error("Failed to allocate uniform buffer memory"); + } + + vkBindBufferMemory(m_device, m_uniformBuffer, m_uniformBufferMemory, 0); + + // Initialize uniform values + updateUniforms(); +} + +void VulkanBuilder::updateUniforms() +{ + if (m_uniformBufferSize == 0 || m_uniformBuffer == VK_NULL_HANDLE || !m_shaderDesc) return; + + void * data; + vkMapMemory(m_device, m_uniformBufferMemory, 0, m_uniformBufferSize, 0, &data); + + // Zero-initialize the buffer first to ensure clean state + memset(data, 0, m_uniformBufferSize); + + // Query uniform values directly from shader description (callbacks may have updated) + const unsigned numUniforms = m_shaderDesc->getNumUniforms(); + for (unsigned idx = 0; idx < numUniforms && idx < m_uniforms.size(); ++idx) + { + GpuShaderDesc::UniformData uniformData; + m_shaderDesc->getUniform(idx, uniformData); + + char * dest = static_cast(data) + m_uniforms[idx].offset; + + if (uniformData.m_getDouble) + { + float val = static_cast(uniformData.m_getDouble()); + memcpy(dest, &val, sizeof(float)); + } + else if (uniformData.m_getBool) + { + int val = uniformData.m_getBool() ? 1 : 0; + memcpy(dest, &val, sizeof(int)); + } + else if (uniformData.m_getFloat3) + { + // vec3 in std140: write 3 floats (12 bytes), padded to 16 bytes + auto vals = uniformData.m_getFloat3(); + memcpy(dest, vals.data(), 3 * sizeof(float)); + } + else if (uniformData.m_vectorFloat.m_getSize && uniformData.m_vectorFloat.m_getVector) + { + // In std140, each array element is padded to 16 bytes + const float * vals = uniformData.m_vectorFloat.m_getVector(); + size_t count = uniformData.m_vectorFloat.m_getSize(); + for (size_t i = 0; i < count; ++i) + { + memcpy(dest + i * 16, &vals[i], sizeof(float)); + } + } + else if (uniformData.m_vectorInt.m_getSize && uniformData.m_vectorInt.m_getVector) + { + // In std140, each array element is padded to 16 bytes + const int * vals = uniformData.m_vectorInt.m_getVector(); + size_t count = uniformData.m_vectorInt.m_getSize(); + for (size_t i = 0; i < count; ++i) + { + memcpy(dest + i * 16, &vals[i], sizeof(int)); + } + } + } + + vkUnmapMemory(m_device, m_uniformBufferMemory); +} + +void VulkanBuilder::allocateAllTextures(GpuShaderDescRcPtr & shaderDesc) +{ + deleteAllTextures(); + m_shaderDesc = shaderDesc; + + // Create uniform buffer for dynamic parameters + createUniformBuffer(shaderDesc); + + // Process 3D LUTs - use OCIO's get3DTextureShaderBindingIndex for correct bindings + const unsigned num3DTextures = shaderDesc->getNum3DTextures(); + for (unsigned idx = 0; idx < num3DTextures; ++idx) + { + const char * textureName = nullptr; + const char * samplerName = nullptr; + unsigned edgelen = 0; + Interpolation interpolation = INTERP_LINEAR; + shaderDesc->get3DTexture(idx, textureName, samplerName, edgelen, interpolation); + + if (!textureName || !samplerName || edgelen == 0) + { + throw std::runtime_error("Invalid 3D texture data"); + } + + const float * values = nullptr; + shaderDesc->get3DTextureValues(idx, values); + if (!values) + { + throw std::runtime_error("Missing 3D texture values"); + } + + // Use RGBA format since RGB32F is not widely supported (especially on MoltenVK/macOS) + // Convert RGB to RGBA by adding alpha = 1.0 + const size_t numTexels = edgelen * edgelen * edgelen; + std::vector rgbaValues(numTexels * 4); + for (size_t i = 0; i < numTexels; ++i) + { + rgbaValues[i * 4 + 0] = values[i * 3 + 0]; + rgbaValues[i * 4 + 1] = values[i * 3 + 1]; + rgbaValues[i * 4 + 2] = values[i * 3 + 2]; + rgbaValues[i * 4 + 3] = 1.0f; + } + + // Create staging buffer + VkDeviceSize imageSize = numTexels * 4 * sizeof(float); + + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = imageSize; + bufferInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + vkCreateBuffer(m_device, &bufferInfo, nullptr, &stagingBuffer); + + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(m_device, stagingBuffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT); + + vkAllocateMemory(m_device, &allocInfo, nullptr, &stagingBufferMemory); + vkBindBufferMemory(m_device, stagingBuffer, stagingBufferMemory, 0); + + // Copy RGBA data to staging buffer + void * data; + vkMapMemory(m_device, stagingBufferMemory, 0, imageSize, 0, &data); + memcpy(data, rgbaValues.data(), static_cast(imageSize)); + vkUnmapMemory(m_device, stagingBufferMemory); + + // Create 3D image with RGBA format + // Use OCIO's get3DTextureShaderBindingIndex for the correct binding index + TextureResource tex; + tex.samplerName = samplerName; + tex.binding = shaderDesc->get3DTextureShaderBindingIndex(idx); + + createImage(edgelen, edgelen, edgelen, VK_FORMAT_R32G32B32A32_SFLOAT, VK_IMAGE_TYPE_3D, + VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, tex.image, tex.memory); + + // Transition and copy + transitionImageLayout(tex.image, VK_FORMAT_R32G32B32A32_SFLOAT, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL); + copyBufferToImage(stagingBuffer, tex.image, edgelen, edgelen, edgelen); + transitionImageLayout(tex.image, VK_FORMAT_R32G32B32A32_SFLOAT, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); + + // Create image view and sampler + tex.imageView = createImageView(tex.image, VK_FORMAT_R32G32B32A32_SFLOAT, VK_IMAGE_VIEW_TYPE_3D); + tex.sampler = createSampler(interpolation); + + m_textures3D.push_back(tex); + + // Cleanup staging buffer + vkDestroyBuffer(m_device, stagingBuffer, nullptr); + vkFreeMemory(m_device, stagingBufferMemory, nullptr); + } + + // Process 1D/2D LUTs + const unsigned numTextures = shaderDesc->getNumTextures(); + for (unsigned idx = 0; idx < numTextures; ++idx) + { + const char * textureName = nullptr; + const char * samplerName = nullptr; + unsigned width = 0; + unsigned height = 0; + GpuShaderDesc::TextureType channel = GpuShaderDesc::TEXTURE_RGB_CHANNEL; + Interpolation interpolation = INTERP_LINEAR; + GpuShaderDesc::TextureDimensions dimensions = GpuShaderDesc::TEXTURE_1D; + shaderDesc->getTexture(idx, textureName, samplerName, width, height, channel, dimensions, interpolation); + + if (!textureName || !samplerName || width == 0) + { + throw std::runtime_error("Invalid texture data"); + } + + const float * values = nullptr; + shaderDesc->getTextureValues(idx, values); + if (!values) + { + throw std::runtime_error("Missing texture values"); + } + + // Use R32 for single channel, RGBA32 for RGB (since RGB32F not supported on MoltenVK) + unsigned imgHeight = (height > 0) ? height : 1; + const size_t numTexels = width * imgHeight; + VkFormat format; + VkDeviceSize imageSize; + std::vector convertedValues; + + if (channel == GpuShaderDesc::TEXTURE_RED_CHANNEL) + { + format = VK_FORMAT_R32_SFLOAT; + imageSize = numTexels * sizeof(float); + } + else + { + // Convert RGB to RGBA + format = VK_FORMAT_R32G32B32A32_SFLOAT; + imageSize = numTexels * 4 * sizeof(float); + convertedValues.resize(numTexels * 4); + for (size_t i = 0; i < numTexels; ++i) + { + convertedValues[i * 4 + 0] = values[i * 3 + 0]; + convertedValues[i * 4 + 1] = values[i * 3 + 1]; + convertedValues[i * 4 + 2] = values[i * 3 + 2]; + convertedValues[i * 4 + 3] = 1.0f; + } + } + + // Create staging buffer + VkBuffer stagingBuffer; + VkDeviceMemory stagingBufferMemory; + + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = imageSize; + bufferInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + vkCreateBuffer(m_device, &bufferInfo, nullptr, &stagingBuffer); + + VkMemoryRequirements memRequirements; + vkGetBufferMemoryRequirements(m_device, stagingBuffer, &memRequirements); + + VkMemoryAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO; + allocInfo.allocationSize = memRequirements.size; + allocInfo.memoryTypeIndex = findMemoryType(memRequirements.memoryTypeBits, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT); + + vkAllocateMemory(m_device, &allocInfo, nullptr, &stagingBufferMemory); + vkBindBufferMemory(m_device, stagingBuffer, stagingBufferMemory, 0); + + // Copy data + void * data; + vkMapMemory(m_device, stagingBufferMemory, 0, imageSize, 0, &data); + if (channel == GpuShaderDesc::TEXTURE_RED_CHANNEL) + { + memcpy(data, values, static_cast(imageSize)); + } + else + { + memcpy(data, convertedValues.data(), static_cast(imageSize)); + } + vkUnmapMemory(m_device, stagingBufferMemory); + + // Create image (use 2D for both 1D and 2D textures in Vulkan) + // Use OCIO's getTextureShaderBindingIndex for the correct binding index + TextureResource tex; + tex.samplerName = samplerName; + tex.binding = shaderDesc->getTextureShaderBindingIndex(idx); + + createImage(width, imgHeight, 1, format, VK_IMAGE_TYPE_2D, + VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, + VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, tex.image, tex.memory); + + // Transition and copy + transitionImageLayout(tex.image, format, + VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL); + copyBufferToImage(stagingBuffer, tex.image, width, imgHeight, 1); + transitionImageLayout(tex.image, format, + VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL); + + // Create image view and sampler + tex.imageView = createImageView(tex.image, format, VK_IMAGE_VIEW_TYPE_2D); + tex.sampler = createSampler(interpolation); + + m_textures1D2D.push_back(tex); + + // Cleanup staging buffer + vkDestroyBuffer(m_device, stagingBuffer, nullptr); + vkFreeMemory(m_device, stagingBufferMemory, nullptr); + } +} + +void VulkanBuilder::buildShader(GpuShaderDescRcPtr & shaderDesc) +{ + // Generate GLSL compute shader source from OCIO shader description + std::ostringstream shader; + + shader << "#version 460\n"; + shader << "#extension GL_EXT_scalar_block_layout : enable\n"; + shader << "\n"; + shader << "layout(local_size_x = 16, local_size_y = 16, local_size_z = 1) in;\n"; + shader << "\n"; + // Use bindings 1 and 2 for input/output buffers. + // OCIO uses binding 0 for uniforms and 3+ for textures (via setDescriptorSetIndex(0, 3)). + shader << "layout(std430, set = 0, binding = 1) readonly buffer InputBuffer {\n"; + shader << " vec4 inputPixels[];\n"; + shader << "};\n"; + shader << "\n"; + shader << "layout(std430, set = 0, binding = 2) writeonly buffer OutputBuffer {\n"; + shader << " vec4 outputPixels[];\n"; + shader << "};\n"; + shader << "\n"; + + // OCIO generates texture sampler declarations with correct bindings when using + // GPU_LANGUAGE_GLSL_VK_4_6 and setDescriptorSetIndex(0, 3) is called on the shader descriptor. + // OCIO uses binding 0 for uniforms (by design) and 3+ for textures. + + // Get OCIO shader text - it already contains sampler and uniform declarations with correct bindings + const char * shaderText = shaderDesc->getShaderText(); + if (shaderText && strlen(shaderText) > 0) + { + shader << shaderText; + } + + shader << "\n"; + shader << "void main() {\n"; + shader << " uvec2 gid = gl_GlobalInvocationID.xy;\n"; + shader << " uint width = 256u;\n"; + shader << " uint height = 256u;\n"; + shader << " \n"; + shader << " // Bounds check to avoid out-of-bounds access\n"; + shader << " if (gid.x >= width || gid.y >= height) return;\n"; + shader << " \n"; + shader << " uint idx = gid.y * width + gid.x;\n"; + shader << " \n"; + shader << " vec4 " << shaderDesc->getPixelName() << " = inputPixels[idx];\n"; + shader << " \n"; + + // Call the OCIO color transformation function + const char * functionName = shaderDesc->getFunctionName(); + if (functionName && strlen(functionName) > 0) + { + shader << " " << shaderDesc->getPixelName() << " = " << functionName + << "(" << shaderDesc->getPixelName() << ");\n"; + } + + shader << " \n"; + shader << " outputPixels[idx] = " << shaderDesc->getPixelName() << ";\n"; + shader << "}\n"; + + m_shaderSource = shader.str(); + + // Compile GLSL to SPIR-V + std::vector spirvCode = compileGLSLToSPIRV(m_shaderSource); + + // Create shader module + VkShaderModuleCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + createInfo.codeSize = spirvCode.size() * sizeof(uint32_t); + createInfo.pCode = spirvCode.data(); + + if (vkCreateShaderModule(m_device, &createInfo, nullptr, &m_shaderModule) != VK_SUCCESS) + { + throw std::runtime_error("Failed to create shader module"); + } +} + +std::vector VulkanBuilder::compileGLSLToSPIRV(const std::string & glslSource) +{ + // Initialize glslang (safe to call multiple times) + static bool glslangInitialized = false; + if (!glslangInitialized) + { + glslang::InitializeProcess(); + glslangInitialized = true; + } + + // Create shader object + glslang::TShader shader(EShLangCompute); + + const char * shaderStrings[1] = { glslSource.c_str() }; + shader.setStrings(shaderStrings, 1); + + // Set up Vulkan 1.2 / SPIR-V 1.5 environment + shader.setEnvInput(glslang::EShSourceGlsl, EShLangCompute, glslang::EShClientVulkan, 460); + shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetVulkan_1_2); + shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetSpv_1_5); + + // Get default resource limits + const TBuiltInResource * resources = GetDefaultResources(); + + // Parse the shader + const int defaultVersion = 460; + const bool forwardCompatible = false; + const EShMessages messages = static_cast(EShMsgSpvRules | EShMsgVulkanRules); + + if (!shader.parse(resources, defaultVersion, forwardCompatible, messages)) + { + std::string errorMsg = "GLSL parsing failed:\n"; + errorMsg += shader.getInfoLog(); + errorMsg += "\n"; + errorMsg += shader.getInfoDebugLog(); + throw std::runtime_error(errorMsg); + } + + // Create program and link + glslang::TProgram program; + program.addShader(&shader); + + if (!program.link(messages)) + { + std::string errorMsg = "GLSL linking failed:\n"; + errorMsg += program.getInfoLog(); + errorMsg += "\n"; + errorMsg += program.getInfoDebugLog(); + throw std::runtime_error(errorMsg); + } + + // Convert to SPIR-V + std::vector spirv; + glslang::SpvOptions spvOptions; + spvOptions.generateDebugInfo = false; + spvOptions.stripDebugInfo = true; + spvOptions.disableOptimizer = false; + spvOptions.optimizeSize = false; + + glslang::GlslangToSpv(*program.getIntermediate(EShLangCompute), spirv, &spvOptions); + + if (spirv.empty()) + { + throw std::runtime_error("SPIR-V generation produced empty output"); + } + + return spirv; +} + +std::vector VulkanBuilder::getDescriptorSetLayoutBindings() const +{ + std::vector bindings; + + // Add uniform buffer binding at binding 0 (OCIO's default) + // OCIO generates uniform blocks with binding = 0 by design + if (hasUniforms()) + { + VkDescriptorSetLayoutBinding binding{}; + binding.binding = 0; + binding.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + binding.descriptorCount = 1; + binding.stageFlags = VK_SHADER_STAGE_COMPUTE_BIT; + binding.pImmutableSamplers = nullptr; + bindings.push_back(binding); + } + + // Add bindings for 3D LUT textures (starting at binding 1 via setDescriptorSetIndex(0, 1)) + for (const auto & tex : m_textures3D) + { + VkDescriptorSetLayoutBinding binding{}; + binding.binding = tex.binding; + binding.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + binding.descriptorCount = 1; + binding.stageFlags = VK_SHADER_STAGE_COMPUTE_BIT; + binding.pImmutableSamplers = nullptr; + bindings.push_back(binding); + } + + // Add bindings for 1D/2D LUT textures + for (const auto & tex : m_textures1D2D) + { + VkDescriptorSetLayoutBinding binding{}; + binding.binding = tex.binding; + binding.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + binding.descriptorCount = 1; + binding.stageFlags = VK_SHADER_STAGE_COMPUTE_BIT; + binding.pImmutableSamplers = nullptr; + bindings.push_back(binding); + } + + return bindings; +} + +std::vector VulkanBuilder::getDescriptorPoolSizes() const +{ + std::vector poolSizes; + + // Storage buffers for input/output + poolSizes.push_back({VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 2}); + + // Uniform buffer for dynamic parameters + if (hasUniforms()) + { + poolSizes.push_back({VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1}); + } + + // Combined image samplers for textures + uint32_t numTextures = static_cast(m_textures3D.size() + m_textures1D2D.size()); + if (numTextures > 0) + { + poolSizes.push_back({VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, numTextures}); + } + + return poolSizes; +} + +void VulkanBuilder::updateDescriptorSet(VkDescriptorSet descriptorSet) +{ + std::vector descriptorWrites; + std::vector imageInfos; + + // Use a single buffer info for uniform buffer (allocated on stack to avoid reallocation issues) + VkDescriptorBufferInfo uniformBufferInfo{}; + + // Reserve space to prevent reallocation + imageInfos.reserve(m_textures3D.size() + m_textures1D2D.size()); + + // Add uniform buffer binding at binding 0 (OCIO's default) + if (hasUniforms()) + { + uniformBufferInfo.buffer = m_uniformBuffer; + uniformBufferInfo.offset = 0; + uniformBufferInfo.range = m_uniformBufferSize; + + VkWriteDescriptorSet uniformWrite{}; + uniformWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + uniformWrite.dstSet = descriptorSet; + uniformWrite.dstBinding = 0; + uniformWrite.dstArrayElement = 0; + uniformWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + uniformWrite.descriptorCount = 1; + uniformWrite.pBufferInfo = &uniformBufferInfo; + descriptorWrites.push_back(uniformWrite); + } + + // Add 3D texture bindings (starting at binding 1 via setDescriptorSetIndex(0, 1)) + for (const auto & tex : m_textures3D) + { + VkDescriptorImageInfo imageInfo{}; + imageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + imageInfo.imageView = tex.imageView; + imageInfo.sampler = tex.sampler; + imageInfos.push_back(imageInfo); + + VkWriteDescriptorSet imageWrite{}; + imageWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + imageWrite.dstSet = descriptorSet; + imageWrite.dstBinding = tex.binding; + imageWrite.dstArrayElement = 0; + imageWrite.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + imageWrite.descriptorCount = 1; + imageWrite.pImageInfo = &imageInfos.back(); + descriptorWrites.push_back(imageWrite); + } + + // Add 1D/2D texture bindings + for (const auto & tex : m_textures1D2D) + { + VkDescriptorImageInfo imageInfo{}; + imageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + imageInfo.imageView = tex.imageView; + imageInfo.sampler = tex.sampler; + imageInfos.push_back(imageInfo); + + VkWriteDescriptorSet imageWrite{}; + imageWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + imageWrite.dstSet = descriptorSet; + imageWrite.dstBinding = tex.binding; + imageWrite.dstArrayElement = 0; + imageWrite.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + imageWrite.descriptorCount = 1; + imageWrite.pImageInfo = &imageInfos.back(); + descriptorWrites.push_back(imageWrite); + } + + if (!descriptorWrites.empty()) + { + vkUpdateDescriptorSets(m_device, static_cast(descriptorWrites.size()), + descriptorWrites.data(), 0, nullptr); + } +} + +} // namespace OCIO_NAMESPACE + +#endif // OCIO_VULKAN_ENABLED diff --git a/src/libutils/oglapphelpers/vulkanapp.h b/src/libutils/oglapphelpers/vulkanapp.h new file mode 100644 index 0000000000..07689a951a --- /dev/null +++ b/src/libutils/oglapphelpers/vulkanapp.h @@ -0,0 +1,274 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright Contributors to the OpenColorIO Project. + + +#ifndef INCLUDED_OCIO_VULKANAPP_H +#define INCLUDED_OCIO_VULKANAPP_H + +#ifdef OCIO_VULKAN_ENABLED + +#include +#include +#include + +#include + +#include + +namespace OCIO_NAMESPACE +{ + +class VulkanBuilder; +typedef OCIO_SHARED_PTR VulkanBuilderRcPtr; + +class VulkanApp; +typedef OCIO_SHARED_PTR VulkanAppRcPtr; + +// VulkanApp provides headless Vulkan rendering for GPU unit testing. +// This class is designed to process images using OCIO GPU shaders via Vulkan compute pipelines. +class VulkanApp +{ +public: + VulkanApp() = delete; + VulkanApp(const VulkanApp &) = delete; + VulkanApp & operator=(const VulkanApp &) = delete; + + // Initialize the app with given buffer size for headless rendering. + VulkanApp(int bufWidth, int bufHeight); + + virtual ~VulkanApp(); + + enum Components + { + COMPONENTS_RGB = 0, + COMPONENTS_RGBA + }; + + // Initialize the image buffer. + void initImage(int imageWidth, int imageHeight, Components comp, const float * imageBuffer); + + // Update the image if it changes. + void updateImage(const float * imageBuffer); + + // Set the shader code from OCIO GpuShaderDesc. + void setShader(GpuShaderDescRcPtr & shaderDesc); + + // Update the size of the buffer used to process the image. + void reshape(int width, int height); + + // Process the image using the Vulkan compute pipeline. + void redisplay(); + + // Read the processed image from the GPU buffer. + void readImage(float * imageBuffer); + + // Print Vulkan device and instance info. + void printVulkanInfo() const noexcept; + + // Factory method to create a VulkanApp instance. + static VulkanAppRcPtr CreateVulkanApp(int bufWidth, int bufHeight); + + // Shader code will be printed when generated. + void setPrintShader(bool print) { m_printShader = print; } + +protected: + // Initialize Vulkan instance, device, and queues. + void initVulkan(); + + // Create Vulkan compute pipeline for shader processing. + void createComputePipeline(); + + // Create buffers for image data. + void createBuffers(); + + // Clean up Vulkan resources. + void cleanup(); + + // Helper to find a suitable memory type. + uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties); + + // Helper to create a Vulkan buffer. + void createBuffer(VkDeviceSize size, VkBufferUsageFlags usage, + VkMemoryPropertyFlags properties, VkBuffer & buffer, + VkDeviceMemory & bufferMemory); + + // Helper to copy buffer data. + void copyBuffer(VkBuffer srcBuffer, VkBuffer dstBuffer, VkDeviceSize size); + +private: + // Vulkan core objects + VkInstance m_instance{ VK_NULL_HANDLE }; + VkPhysicalDevice m_physicalDevice{ VK_NULL_HANDLE }; + VkDevice m_device{ VK_NULL_HANDLE }; + VkQueue m_computeQueue{ VK_NULL_HANDLE }; + uint32_t m_computeQueueFamilyIndex{ 0 }; + + // Command pool and buffer + VkCommandPool m_commandPool{ VK_NULL_HANDLE }; + VkCommandBuffer m_commandBuffer{ VK_NULL_HANDLE }; + + // Compute pipeline + VkPipelineLayout m_pipelineLayout{ VK_NULL_HANDLE }; + VkPipeline m_computePipeline{ VK_NULL_HANDLE }; + VkDescriptorSetLayout m_descriptorSetLayout{ VK_NULL_HANDLE }; + VkDescriptorPool m_descriptorPool{ VK_NULL_HANDLE }; + VkDescriptorSet m_descriptorSet{ VK_NULL_HANDLE }; + + // Shader module + VkShaderModule m_computeShaderModule{ VK_NULL_HANDLE }; + + // Image buffers + VkBuffer m_inputBuffer{ VK_NULL_HANDLE }; + VkDeviceMemory m_inputBufferMemory{ VK_NULL_HANDLE }; + VkBuffer m_outputBuffer{ VK_NULL_HANDLE }; + VkDeviceMemory m_outputBufferMemory{ VK_NULL_HANDLE }; + VkBuffer m_stagingBuffer{ VK_NULL_HANDLE }; + VkDeviceMemory m_stagingBufferMemory{ VK_NULL_HANDLE }; + + // Image dimensions + int m_imageWidth{ 0 }; + int m_imageHeight{ 0 }; + int m_bufferWidth{ 0 }; + int m_bufferHeight{ 0 }; + Components m_components{ COMPONENTS_RGBA }; + + // Shader builder + VulkanBuilderRcPtr m_vulkanBuilder; + + // Debug and configuration + bool m_printShader{ false }; + bool m_initialized{ false }; + + // Validation layers (debug builds) +#ifdef NDEBUG + const bool m_enableValidationLayers{ false }; +#else + const bool m_enableValidationLayers{ true }; +#endif + const std::vector m_validationLayers = { + "VK_LAYER_KHRONOS_validation" + }; +}; + +// VulkanBuilder handles OCIO shader compilation for Vulkan. +class VulkanBuilder +{ +public: + VulkanBuilder() = delete; + VulkanBuilder(const VulkanBuilder &) = delete; + VulkanBuilder & operator=(const VulkanBuilder &) = delete; + + explicit VulkanBuilder(VkDevice device, VkPhysicalDevice physicalDevice, + VkCommandPool commandPool, VkQueue queue); + ~VulkanBuilder(); + + // Build compute shader from OCIO GpuShaderDesc. + void buildShader(GpuShaderDescRcPtr & shaderDesc); + + // Get the compiled shader module. + VkShaderModule getShaderModule() const { return m_shaderModule; } + + // Get the shader source code (for debugging). + const std::string & getShaderSource() const { return m_shaderSource; } + + // Allocate and setup all textures (3D LUTs and 1D/2D LUTs). + void allocateAllTextures(GpuShaderDescRcPtr & shaderDesc); + + // Get descriptor set layout bindings for textures and uniforms. + std::vector getDescriptorSetLayoutBindings() const; + + // Get descriptor pool sizes for textures and uniforms. + std::vector getDescriptorPoolSizes() const; + + // Update descriptor set with texture and uniform bindings. + void updateDescriptorSet(VkDescriptorSet descriptorSet); + + // Update uniform values before each dispatch. + void updateUniforms(); + + // Get the uniform buffer for binding. + VkBuffer getUniformBuffer() const { return m_uniformBuffer; } + VkDeviceSize getUniformBufferSize() const { return m_uniformBufferSize; } + + // Check if uniforms are used. + bool hasUniforms() const { return m_uniformBufferSize > 0; } + + // Check if textures are used. + bool hasTextures() const { return !m_textures3D.empty() || !m_textures1D2D.empty(); } + +private: + // Compile GLSL to SPIR-V. + std::vector compileGLSLToSPIRV(const std::string & glslSource); + + // Helper to find memory type. + uint32_t findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties); + + // Helper to create image. + void createImage(uint32_t width, uint32_t height, uint32_t depth, + VkFormat format, VkImageType imageType, + VkImageUsageFlags usage, VkMemoryPropertyFlags properties, + VkImage & image, VkDeviceMemory & imageMemory); + + // Helper to create image view. + VkImageView createImageView(VkImage image, VkFormat format, VkImageViewType viewType); + + // Helper to create sampler. + VkSampler createSampler(Interpolation interpolation); + + // Helper to transition image layout. + void transitionImageLayout(VkImage image, VkFormat format, + VkImageLayout oldLayout, VkImageLayout newLayout); + + // Helper to copy buffer to image. + void copyBufferToImage(VkBuffer buffer, VkImage image, + uint32_t width, uint32_t height, uint32_t depth); + + // Create uniform buffer. + void createUniformBuffer(GpuShaderDescRcPtr & shaderDesc); + + // Delete all resources. + void deleteAllTextures(); + void deleteUniformBuffer(); + + VkDevice m_device{ VK_NULL_HANDLE }; + VkPhysicalDevice m_physicalDevice{ VK_NULL_HANDLE }; + VkCommandPool m_commandPool{ VK_NULL_HANDLE }; + VkQueue m_queue{ VK_NULL_HANDLE }; + VkShaderModule m_shaderModule{ VK_NULL_HANDLE }; + std::string m_shaderSource; + GpuShaderDescRcPtr m_shaderDesc; + + // Texture resources for 3D LUTs + struct TextureResource + { + VkImage image{ VK_NULL_HANDLE }; + VkDeviceMemory memory{ VK_NULL_HANDLE }; + VkImageView imageView{ VK_NULL_HANDLE }; + VkSampler sampler{ VK_NULL_HANDLE }; + std::string samplerName; + uint32_t binding{ 0 }; + }; + std::vector m_textures3D; + std::vector m_textures1D2D; + + // Uniform buffer for dynamic parameters + VkBuffer m_uniformBuffer{ VK_NULL_HANDLE }; + VkDeviceMemory m_uniformBufferMemory{ VK_NULL_HANDLE }; + VkDeviceSize m_uniformBufferSize{ 0 }; + + // Uniform data structure matching shader layout + struct UniformData + { + std::string name; + GpuShaderDesc::UniformData data; + size_t offset; + size_t size; + }; + std::vector m_uniforms; +}; + +} // namespace OCIO_NAMESPACE + +#endif // OCIO_VULKAN_ENABLED + +#endif // INCLUDED_OCIO_VULKANAPP_H diff --git a/tests/cpu/CMakeLists.txt b/tests/cpu/CMakeLists.txt index 12fd06c1ba..2dab084f3e 100755 --- a/tests/cpu/CMakeLists.txt +++ b/tests/cpu/CMakeLists.txt @@ -19,10 +19,28 @@ macro(add_ocio_test_variant NAME BINARY) endif() endmacro() -function(add_ocio_test NAME SOURCES PRIVATE_INCLUDES) +function(prepend var prefix) + set(new "") + foreach(f ${ARGN}) + list(APPEND new "${prefix}${f}") + endforeach(f) + set(${var} "${new}" PARENT_SCOPE) +endfunction(prepend) + +function(add_ocio_test NAME SOURCES TESTS PRIVATE_INCLUDES) set(TEST_BINARY "test_${NAME}_exec") set(TEST_NAME "test_${NAME}") - add_executable(${TEST_BINARY} ${SOURCES}) + + prepend(SOURCES "${PROJECT_SOURCE_DIR}/src/OpenColorIO/" ${SOURCES}) + set(SOURCES_ALL ${SOURCES}) + list(APPEND SOURCES_ALL ${TESTS}) + + add_executable(${TEST_BINARY} ${SOURCES_ALL}) + + # Group the source files to replicate the source tree structure in the IDEs. + source_group(TREE "${PROJECT_SOURCE_DIR}/src/OpenColorIO/" PREFIX "OpenColorIO Library" FILES ${SOURCES}) + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Tests" FILES ${TESTS}) + target_compile_definitions(${TEST_BINARY} PRIVATE OpenColorIO_SKIP_IMPORTS @@ -331,18 +349,6 @@ set(TESTS ViewTransform_tests.cpp ) -function(prepend var prefix) - set(new "") - foreach(f ${ARGN}) - list(APPEND new "${prefix}${f}") - endforeach(f) - set(${var} "${new}" PARENT_SCOPE) -endfunction(prepend) - -prepend(SOURCES "${PROJECT_SOURCE_DIR}/src/OpenColorIO/" ${SOURCES}) - -list(APPEND SOURCES ${TESTS}) - if(OCIO_USE_SIMD AND (OCIO_ARCH_X86 OR OCIO_USE_SSE2NEON)) # Note that these files are gated by preprocessors to remove them based on the OCIO_USE_* vars. set_property(SOURCE "${CMAKE_SOURCE_DIR}/src/OpenColorIO/ops/lut1d/Lut1DOpCPU_SSE2.cpp" APPEND PROPERTY COMPILE_OPTIONS ${OCIO_SSE2_ARGS}) @@ -359,4 +365,4 @@ if(OCIO_USE_SIMD AND (OCIO_ARCH_X86 OR OCIO_USE_SSE2NEON)) set_property(SOURCE "AVX512_tests.cpp" APPEND PROPERTY COMPILE_OPTIONS ${OCIO_AVX512_ARGS}) endif() -add_ocio_test(cpu "${SOURCES}" TRUE) +add_ocio_test(cpu "${SOURCES}" "${TESTS}" TRUE) diff --git a/tests/cpu/CPUProcessor_tests.cpp b/tests/cpu/CPUProcessor_tests.cpp index 925a75397c..e7f37912cc 100644 --- a/tests/cpu/CPUProcessor_tests.cpp +++ b/tests/cpu/CPUProcessor_tests.cpp @@ -276,9 +276,9 @@ OCIO_ADD_TEST(CPUProcessor, with_one_matrix) 1.0000f, 1.2500f, 1.9900f }; const std::vector resImg - = { -0.01929f, -0.3995f, 0.4002f, 0.5f, - 1.58960f, 0.9050f, 1.5025f, 0.5f, - 2.070699f, 1.6505f, 2.4002f, 0.5f }; + = { -0.01929f, -0.3995f, 0.4002f, 1.5f, + 1.58960f, 0.9050f, 1.5025f, 1.5f, + 2.070699f, 1.6505f, 2.4002f, 1.5f }; ComputeValues( __LINE__, processor, @@ -620,10 +620,10 @@ OCIO_ADD_TEST(CPUProcessor, with_one_1d_lut) 5120, 20480, 65535 }; const std::vector resImg - = { 95, 24, 0, 0, - 268, 178, 123, 0, - 955, 598, 394, 0, - 65535, 8589, 1986, 0 }; + = { 95, 24, 0, 65535, + 268, 178, 123, 65535, + 955, 598, 394, 65535, + 65535, 8589, 1986, 65535 }; ComputeValues( __LINE__, processor, @@ -656,10 +656,10 @@ OCIO_ADD_TEST(CPUProcessor, with_one_1d_lut) 128, 1023, 640 }; const std::vector ui10_resImg - = { 0, 6, 15, 0, - 26, 48, 106, 0, - 36, 106, 252, 0, - 48, 1023, 384, 0 }; + = { 0, 6, 15, 1023, + 26, 48, 106, 1023, + 36, 106, 252, 1023, + 48, 1023, 384, 1023 }; ComputeValues( __LINE__, processor, @@ -668,10 +668,10 @@ OCIO_ADD_TEST(CPUProcessor, with_one_1d_lut) NB_PIXELS); const std::vector ui16_resImg - = { 0, 394, 955, 0, - 1656, 3092, 6794, 0, - 2301, 6794, 16162, 0, - 3092, 65535, 24593, 0 }; + = { 0, 394, 955, 65535, + 1656, 3092, 6794, 65535, + 2301, 6794, 16162, 65535, + 3092, 65535, 24593, 65535 }; ComputeValues( __LINE__, processor, @@ -704,10 +704,10 @@ OCIO_ADD_TEST(CPUProcessor, with_one_1d_lut) 1024, 2048, 4095 }; const std::vector ui12_resImg - = { 0, 11, 25, 0, - 37, 60, 103, 0, - 49, 103, 193, 0, - 424, 1009, 4095, 0 }; + = { 0, 11, 25, 4095, + 37, 60, 103, 4095, + 49, 103, 193, 4095, + 424, 1009, 4095, 4095 }; ComputeValues( __LINE__, processor, @@ -715,10 +715,10 @@ OCIO_ADD_TEST(CPUProcessor, with_one_1d_lut) &ui12_resImg[0], OCIO::CHANNEL_ORDERING_RGBA, NB_PIXELS); const std::vector ui16_resImg - = { 0, 178, 394, 0, - 598, 955, 1655, 0, - 779, 1655, 3089, 0, - 6789, 16143, 65535, 0 }; + = { 0, 178, 394, 65535, + 598, 955, 1655, 65535, + 779, 1655, 3089, 65535, + 6789, 16143, 65535, 65535 }; ComputeValues( __LINE__, processor, diff --git a/tests/cpu/OpOptimizers_tests.cpp b/tests/cpu/OpOptimizers_tests.cpp index bffb1b6ad1..5b2f771a72 100644 --- a/tests/cpu/OpOptimizers_tests.cpp +++ b/tests/cpu/OpOptimizers_tests.cpp @@ -729,7 +729,7 @@ OCIO_ADD_TEST(OpOptimizers, lut1d_identity_replacement_order) OCIO::OpRcPtrVec optOps = fwd_inv_ops.clone(); OCIO_CHECK_NO_THROW(optOps.finalize()); OCIO_CHECK_NO_THROW(optOps.optimize(OCIO::OPTIMIZATION_DEFAULT)); - OCIO_CHECK_EQUAL(optOps.size(), 1); + OCIO_REQUIRE_EQUAL(optOps.size(), 1); OCIO_CHECK_EQUAL(optOps[0]->getInfo(), ""); // Compare renders. @@ -748,7 +748,7 @@ OCIO_ADD_TEST(OpOptimizers, lut1d_identity_replacement_order) OCIO::OpRcPtrVec optOps = inv_fwd_ops.clone(); OCIO_CHECK_NO_THROW(optOps.finalize()); OCIO_CHECK_NO_THROW(optOps.optimize(OCIO::OPTIMIZATION_DEFAULT)); - OCIO_CHECK_EQUAL(optOps.size(), 1); + OCIO_REQUIRE_EQUAL(optOps.size(), 1); OCIO_CHECK_EQUAL(optOps[0]->getInfo(), ""); // Compare renders. @@ -1052,7 +1052,7 @@ OCIO_ADD_TEST(OpOptimizers, gamma_comp) OCIO_CHECK_NO_THROW(optOps_noComp.finalize()); OCIO_CHECK_NO_THROW(optOps_noComp.optimize(AllBut(OCIO::OPTIMIZATION_COMP_GAMMA))); // Identity matrix is removed but gamma are not combined. - OCIO_CHECK_EQUAL(optOps_noComp.size(), 3); + OCIO_REQUIRE_EQUAL(optOps_noComp.size(), 3); OCIO_CHECK_EQUAL(optOps_noComp[0]->getInfo(), ""); OCIO_CHECK_EQUAL(optOps_noComp[1]->getInfo(), ""); OCIO_CHECK_EQUAL(optOps_noComp[2]->getInfo(), ""); @@ -1100,7 +1100,7 @@ OCIO_ADD_TEST(OpOptimizers, gamma_comp_test2) OCIO_CHECK_NO_THROW(optOps_noComp.finalize()); // NB: The op->apply function used here hard-codes OPTIMIZATION_FAST_LOG_EXP_POW to off. OCIO_CHECK_NO_THROW(optOps_noComp.optimize(AllBut(OCIO::OPTIMIZATION_COMP_GAMMA))); - OCIO_CHECK_EQUAL(optOps_noComp.size(), 2); + OCIO_REQUIRE_EQUAL(optOps_noComp.size(), 2); OCIO_CHECK_EQUAL(optOps_noComp[0]->getInfo(), ""); OCIO_CHECK_EQUAL(optOps_noComp[1]->getInfo(), ""); diff --git a/tests/cpu/Processor_tests.cpp b/tests/cpu/Processor_tests.cpp index d2e0087251..3188bb6b4b 100644 --- a/tests/cpu/Processor_tests.cpp +++ b/tests/cpu/Processor_tests.cpp @@ -19,7 +19,7 @@ OCIO_ADD_TEST(Processor, basic_cache) auto processorEmptyGroup = config->getProcessor(group); OCIO_CHECK_EQUAL(processorEmptyGroup->getNumTransforms(), 0); - OCIO_CHECK_EQUAL(std::string(processorEmptyGroup->getCacheID()), ""); + OCIO_CHECK_EQUAL(std::string(processorEmptyGroup->getCacheID()), "99aa06d3-0147-98d8-6001-c324468d497f"); auto mat = OCIO::MatrixTransform::Create(); double matrix[16]{ @@ -34,26 +34,26 @@ OCIO_ADD_TEST(Processor, basic_cache) auto processorMat = config->getProcessor(mat); OCIO_CHECK_EQUAL(processorMat->getNumTransforms(), 1); - OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "1b1880136f7669351adb0dcae0f4f9fd"); + OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "1adb0dca-e0f4-f9fd-1b18-80136f766935"); // Check behaviour of the cacheID offset[0] = 0.0; mat->setOffset(offset); processorMat = config->getProcessor(mat); - OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "675ca29c0f7d28fbdc865818c8cf5c4c"); + OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "dc865818-c8cf-5c4c-675c-a29c0f7d28fb"); matrix[0] = 2.0; mat->setMatrix(matrix); processorMat = config->getProcessor(mat); - OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "1ebac7d1c2d833943e1d1d3c26a7eb18"); + OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "3e1d1d3c-26a7-eb18-1eba-c7d1c2d83394"); offset[0] = 0.1; matrix[0] = 1.0; mat->setOffset(offset); mat->setMatrix(matrix); processorMat = config->getProcessor(mat); - OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "1b1880136f7669351adb0dcae0f4f9fd"); + OCIO_CHECK_EQUAL(std::string(processorMat->getCacheID()), "1adb0dca-e0f4-f9fd-1b18-80136f766935"); } OCIO_ADD_TEST(Processor, basic_cache_lut) @@ -63,7 +63,7 @@ OCIO_ADD_TEST(Processor, basic_cache_lut) auto processorEmptyGroup = config->getProcessor(group); OCIO_CHECK_EQUAL(processorEmptyGroup->getNumTransforms(), 0); - OCIO_CHECK_EQUAL(std::string(processorEmptyGroup->getCacheID()), ""); + OCIO_CHECK_EQUAL(std::string(processorEmptyGroup->getCacheID()), "99aa06d3-0147-98d8-6001-c324468d497f"); auto lut = OCIO::Lut3DTransform::Create(3); // Make sure it's not an identity. @@ -71,19 +71,19 @@ OCIO_ADD_TEST(Processor, basic_cache_lut) auto processorLut = config->getProcessor(lut); OCIO_CHECK_EQUAL(processorLut->getNumTransforms(), 1); - OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "2b26d0097cdcf8f141fe3b3d6e21b5ec"); + OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "41fe3b3d-6e21-b5ec-2b26-d0097cdcf8f1"); // Check behaviour of the cacheID // Change a value and check that the cacheID changes. lut->setValue(2, 2, 2, 1.f, 3.f, 4.f); processorLut = config->getProcessor(lut); - OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "288ec8ea132adaca5b5aed24a296a1a2"); + OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "5b5aed24-a296-a1a2-288e-c8ea132adaca"); // Restore the original value, check that the cache ID matches what it used to be. lut->setValue(2, 2, 2, 2.f, 3.f, 4.f); processorLut = config->getProcessor(lut); - OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "2b26d0097cdcf8f141fe3b3d6e21b5ec"); + OCIO_CHECK_EQUAL(std::string(processorLut->getCacheID()), "41fe3b3d-6e21-b5ec-2b26-d0097cdcf8f1"); } OCIO_ADD_TEST(Processor, unique_dynamic_properties) diff --git a/tests/cpu/apphelpers/MergeConfigsHelpers_tests.cpp b/tests/cpu/apphelpers/MergeConfigsHelpers_tests.cpp index 26dd83acc0..2114a9054a 100644 --- a/tests/cpu/apphelpers/MergeConfigsHelpers_tests.cpp +++ b/tests/cpu/apphelpers/MergeConfigsHelpers_tests.cpp @@ -2318,7 +2318,7 @@ OCIO_ADD_TEST(MergeConfigs, view_transforms_section) constexpr char PREFIX[] { "The Input config contains a value that would override the Base config: " }; - // Test that an error is thrown when the the input values are different. + // Test that an error is thrown when the input values are different. { OCIO::MergeHandlerOptions options = { baseConfig, inputConfig, params, mergedConfig }; checkForLogOrException(LOG_TYPE_ERROR, __LINE__, diff --git a/tests/cpu/fileformats/FileFormatCTF_tests.cpp b/tests/cpu/fileformats/FileFormatCTF_tests.cpp index 4dc12578a0..fad4d45ba6 100644 --- a/tests/cpu/fileformats/FileFormatCTF_tests.cpp +++ b/tests/cpu/fileformats/FileFormatCTF_tests.cpp @@ -27,6 +27,27 @@ OCIO::LocalCachedFileRcPtr LoadCLFFile(const std::string & fileName) return OCIO::LoadTestFile( fileName, std::ios_base::in); } + +const OCIO::FormatMetadataImpl::Elements getChildrenMetadata( + const OCIO::CTFReaderTransformPtr transform, + const char* elementName) +{ + return transform->getFormatMetadata().getChildrenElements(elementName); +} + +OCIO::LocalCachedFileRcPtr ParseString(const std::string & str) +{ + std::istringstream ctf; + ctf.str(str); + + // Parse stream. + std::string emptyString; + OCIO::LocalFileFormat tester; + OCIO::CachedFileRcPtr file = tester.read(ctf, emptyString, OCIO::INTERP_DEFAULT); + + return OCIO_DYNAMIC_POINTER_CAST(file); +} + } OCIO_ADD_TEST(FileFormatCTF, missing_file) @@ -49,10 +70,11 @@ OCIO_ADD_TEST(FileFormatCTF, clf_examples) OCIO_CHECK_EQUAL(cachedFile->m_transform->getName(), "transform example lut1d"); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "exlut1"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions().size(), 1); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], + auto descriptions = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_DESCRIPTION); + OCIO_REQUIRE_EQUAL(descriptions.size(), 1); + OCIO_CHECK_EQUAL_STR(descriptions[0].getElementValue(), "1D LUT with legal out of range values"); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); OCIO_CHECK_EQUAL(opList[0]->getType(), OCIO::OpData::Lut1DType); OCIO_CHECK_EQUAL(opList[0]->getName(), "65valueLut"); @@ -75,10 +97,10 @@ OCIO_ADD_TEST(FileFormatCTF, clf_examples) OCIO_CHECK_EQUAL(cachedFile->m_transform->getName(), "transform example lut3d"); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "exlut2"); - OCIO_REQUIRE_EQUAL(cachedFile->m_transform->getDescriptions().size(), 1); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - " 3D LUT example "); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + auto descriptions = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_DESCRIPTION); + OCIO_REQUIRE_EQUAL(descriptions.size(), 1); + OCIO_CHECK_EQUAL_STR(descriptions[0].getElementValue(), " 3D LUT example "); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); OCIO_CHECK_EQUAL(opList[0]->getName(), "identity"); OCIO_CHECK_EQUAL(opList[0]->getID(), "lut-24"); @@ -100,12 +122,15 @@ OCIO_ADD_TEST(FileFormatCTF, clf_examples) OCIO_CHECK_EQUAL(cachedFile->m_transform->getName(), "transform example matrix"); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "exmat1"); - OCIO_REQUIRE_EQUAL(cachedFile->m_transform->getDescriptions().size(), 2); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - " Matrix example "); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[1], - " Used by unit tests "); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 2); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(), " Matrix example "); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementValue(), " Used by unit tests "); + + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); OCIO_CHECK_EQUAL(opList[0]->getName(), "colorspace conversion"); OCIO_CHECK_EQUAL(opList[0]->getID(), "mat-25"); @@ -167,10 +192,15 @@ OCIO_ADD_TEST(FileFormatCTF, clf_examples) OCIO_CHECK_EQUAL(cachedFile->m_transform->getName(), "transform example lut IndexMap"); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "exlut3"); - OCIO_REQUIRE_EQUAL(cachedFile->m_transform->getDescriptions().size(), 1); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - " IndexMap LUT example from spec "); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 1); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), + "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(), + " IndexMap LUT example from spec "); + + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -205,13 +235,18 @@ OCIO_ADD_TEST(FileFormatCTF, matrix4x4) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_2 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); - OCIO_CHECK_ASSERT(cachedFile->m_transform->getInputDescriptor() == "XYZ"); - OCIO_CHECK_ASSERT(cachedFile->m_transform->getOutputDescriptor() == "RGB"); + auto inDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_INPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(inDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(inDescs[0].getElementValue(), "XYZ"); + + auto outDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_OUTPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(outDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(outDescs[0].getElementValue(), "RGB"); OCIO_CHECK_EQUAL(pMatrix->getFileInputBitDepth(), OCIO::BIT_DEPTH_F32); OCIO_CHECK_EQUAL(pMatrix->getFileOutputBitDepth(), OCIO::BIT_DEPTH_F32); @@ -266,7 +301,7 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_with_offset) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_EQUAL(OCIO::CTF_PROCESS_LIST_VERSION_1_2, ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); @@ -324,13 +359,18 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_1_3_3x3) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_3 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); - OCIO_CHECK_ASSERT(cachedFile->m_transform->getInputDescriptor() == "XYZ"); - OCIO_CHECK_ASSERT(cachedFile->m_transform->getOutputDescriptor() == "RGB"); + auto inDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_INPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(inDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(inDescs[0].getElementValue(), "XYZ"); + + auto outDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_OUTPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(outDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(outDescs[0].getElementValue(), "RGB"); OCIO_CHECK_EQUAL(pMatrix->getFileInputBitDepth(), OCIO::BIT_DEPTH_UINT10); OCIO_CHECK_EQUAL(pMatrix->getFileOutputBitDepth(), OCIO::BIT_DEPTH_UINT10); @@ -382,7 +422,7 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_1_3_4x4) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_3 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); @@ -434,7 +474,7 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_1_3_offsets) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_3 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); @@ -485,7 +525,7 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_1_3_alpha_offsets) cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_3 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); @@ -534,7 +574,8 @@ void CheckIdentity(std::istringstream & ctfStream, unsigned line) OCIO::CachedFileRcPtr file; OCIO_CHECK_NO_THROW_FROM(file = tester.read(ctfStream, emptyString, OCIO::INTERP_DEFAULT), line); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); - const auto & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL_FROM(fileOps.size(), 1, line); const auto op = fileOps[0]; @@ -639,12 +680,25 @@ OCIO_ADD_TEST(FileFormatCTF, lut_1d) OCIO_CHECK_EQUAL(cachedFile->m_transform->getName(), "1d-lut example"); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "9843a859-e41e-40a8-a51c-840889c3774e"); - OCIO_REQUIRE_EQUAL(cachedFile->m_transform->getDescriptions().size(), 1); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - "Apply a 1/2.2 gamma."); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getInputDescriptor(), "RGB"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getOutputDescriptor(), "RGB"); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 3); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(),"Apply a 1/2.2 gamma."); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementName(), "InputDescriptor"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementValue(),"RGB"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementValue(),"RGB"); + + auto inDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_INPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(inDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(inDescs[0].getElementValue(), "RGB"); + + auto outDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_OUTPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(outDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(outDescs[0].getElementValue(), "RGB"); + + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); @@ -695,7 +749,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut_1d) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pLut); @@ -717,7 +771,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut_3by1d_with_nan_infinity) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut1d = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pLut1d); @@ -769,7 +823,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut1d_half_domain_raw_half_set) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut1d = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pLut1d); @@ -806,7 +860,7 @@ OCIO_ADD_TEST(FileFormatCTF, 3by1d_lut) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 3); auto pMatrix = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pMatrix); @@ -875,7 +929,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut1d_long_lut) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pLut); @@ -895,7 +949,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut1d_inv) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto pMatrix = std::dynamic_pointer_cast(opList[0]); @@ -966,7 +1020,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut1d_inv_scaling) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); @@ -991,22 +1045,6 @@ OCIO_ADD_TEST(FileFormatCTF, lut1d_inv_scaling) OCIO_CHECK_CLOSE(a2.getValues()[31743 * 3], 0.84031434f, error); } -namespace -{ -OCIO::LocalCachedFileRcPtr ParseString(const std::string & str) -{ - std::istringstream ctf; - ctf.str(str); - - // Parse stream. - std::string emptyString; - OCIO::LocalFileFormat tester; - OCIO::CachedFileRcPtr file = tester.read(ctf, emptyString, OCIO::INTERP_DEFAULT); - - return OCIO_DYNAMIC_POINTER_CAST(file); -} -} - OCIO_ADD_TEST(FileFormatCTF, invlut1d_clf) { const std::string clf{ R"( @@ -1045,7 +1083,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut3d) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); @@ -1086,7 +1124,7 @@ OCIO_ADD_TEST(FileFormatCTF, lut3d_inv) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pLut = std::dynamic_pointer_cast(opList[0]); @@ -1134,7 +1172,8 @@ OCIO_ADD_TEST(FileFormatCTF, tabluation_support) // series of numbers. const std::string ctfFile("clf/tabulation_support.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "e0a0ae4b-adc2-4c25-ad70-fa6f31ba219d"); OCIO_REQUIRE_EQUAL(opList.size(), 1); @@ -1179,7 +1218,8 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_windows_eol) // with the ?xml header. const std::string ctfFile("clf/matrix_windows.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "42"); OCIO_REQUIRE_EQUAL(opList.size(), 1); OCIO_CHECK_EQUAL(opList[0]->getType(), OCIO::OpData::MatrixType); @@ -1192,7 +1232,8 @@ OCIO_ADD_TEST(FileFormatCTF, matrix_no_newlines) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("clf/matrix_no_newlines.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); OCIO_CHECK_EQUAL(opList[0]->getType(), OCIO::OpData::MatrixType); auto pMatrix = std::dynamic_pointer_cast(opList[0]); @@ -1229,7 +1270,7 @@ OCIO_ADD_TEST(FileFormatCTF, check_utf8) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); StringUtils::StringVec descList; GetElementsValues(opList[0]->getFormatMetadata().getChildrenElements(), @@ -1245,6 +1286,87 @@ OCIO_ADD_TEST(FileFormatCTF, check_utf8) } +OCIO_ADD_TEST(FileFormatCTF, smpte_id_element) +{ + const std::string ctfFile("clf/bit_depth_identity.clf"); + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + OCIO_REQUIRE_ASSERT((bool)cachedFile); + OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "urn:uuid:9d768121-0cf9-40a3-a8e3-7b49f79858a7"); + + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 3); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), + "Id"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(), + "urn:uuid:9d768121-0cf9-40a3-a8e3-7b49f79858a7"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementName(), + "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementValue(), + "Identity transform illustrating Array bit depth scaling"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementName(), + "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementValue(), + "Can be loaded by either SMPTE or CLF v3 parsers"); + + // Check the ops. + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); + OCIO_REQUIRE_EQUAL(opList.size(), 3); + + auto mat1 = OCIO::DynamicPtrCast(opList[0]); + OCIO_REQUIRE_ASSERT(mat1); + OCIO_CHECK_EQUAL(mat1->getFileInputBitDepth(), OCIO::BIT_DEPTH_UINT8); + OCIO_CHECK_EQUAL(mat1->getFileOutputBitDepth(), OCIO::BIT_DEPTH_UINT16); + + auto lut = OCIO::DynamicPtrCast(opList[1]); + OCIO_REQUIRE_ASSERT(lut); + OCIO_CHECK_EQUAL(lut->getFileOutputBitDepth(), OCIO::BIT_DEPTH_UINT16); + + auto mat2 = OCIO::DynamicPtrCast(opList[2]); + OCIO_REQUIRE_ASSERT(mat2); + OCIO_CHECK_EQUAL(mat2->getFileInputBitDepth(), OCIO::BIT_DEPTH_UINT16); + OCIO_CHECK_EQUAL(mat2->getFileOutputBitDepth(), OCIO::BIT_DEPTH_UINT16); + + // Check identity. + // Using float bit-depths returns a Range clamping at [0,1], due to the + // LUT1D. Thus setting arbitrary integer in and out depths to avoid the + // Range and allow isIdentity to be true. + OCIO::ConstProcessorRcPtr processor; + OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); + OCIO_REQUIRE_ASSERT(processor); + auto procOpt = processor->getOptimizedCPUProcessor( + OCIO::BIT_DEPTH_UINT10, + OCIO::BIT_DEPTH_UINT12, + OCIO::OPTIMIZATION_DEFAULT); + OCIO_CHECK_ASSERT(procOpt->isIdentity()); + + // Check the Id element + auto& meta = processor->getFormatMetadata(); + OCIO_REQUIRE_ASSERT(meta.getNumChildrenElements() == 3); + auto& idElement = meta.getChildElement(0); + OCIO_CHECK_EQUAL_STR(idElement.getElementName(), "Id"); + OCIO_CHECK_EQUAL_STR(idElement.getElementValue(), "urn:uuid:9d768121-0cf9-40a3-a8e3-7b49f79858a7"); +} + +OCIO_ADD_TEST(FileFormatCTF, smpte_id_bad_value) +{ + const std::string ctfFile("clf/smpte_only/illegal/id_bad_value.clf"); + + // Add a log guard to catch warnings. + OCIO::LogGuard guard; + OCIO::SetLoggingLevel(OCIO::LOGGING_LEVEL_WARNING); + + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + OCIO_REQUIRE_ASSERT((bool)cachedFile); + + // Check the expected warning. + static constexpr char Warning[1024] = + "id_bad_value.clf(3): '3bae2da8' is not a SMPTE ST 2136-1 compliant Id value."; + OCIO_CHECK_NE(std::string::npos, + StringUtils::Find( StringUtils::RightTrim(guard.output()), Warning )); +} + OCIO_ADD_TEST(FileFormatCTF, info_example) { OCIO::LocalCachedFileRcPtr cachedFile; @@ -1252,18 +1374,19 @@ OCIO_ADD_TEST(FileFormatCTF, info_example) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions().size(), 2); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - "Example of using the Info element"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[1], - "A second description"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getInputDescriptor(), - "input desc"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getOutputDescriptor(), - "output desc"); + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 4); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(), "Example of using the Info element"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementValue(), "A second description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementName(), "InputDescriptor"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(2).getElementValue(), "input desc"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(3).getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(3).getElementValue(), "output desc"); // Ensure ops were not affected by metadata parsing. - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pMatrix = @@ -1278,45 +1401,45 @@ OCIO_ADD_TEST(FileFormatCTF, info_example) // Check element values. // - OCIO_CHECK_EQUAL(std::string(info.getElementName()), OCIO::METADATA_INFO); + OCIO_CHECK_EQUAL_STR(info.getElementName(), OCIO::METADATA_INFO); auto items = info.getChildrenElements(); OCIO_REQUIRE_EQUAL(items.size(), 6); - OCIO_CHECK_EQUAL(std::string(items[0].getElementName()), "Copyright"); - OCIO_CHECK_EQUAL(std::string(items[0].getElementValue()), + OCIO_CHECK_EQUAL_STR(items[0].getElementName(), "Copyright"); + OCIO_CHECK_EQUAL_STR(items[0].getElementValue(), "Copyright Contributors to the OpenColorIO Project."); - OCIO_CHECK_EQUAL(std::string(items[1].getElementName()), "AppRelease"); - OCIO_CHECK_EQUAL(std::string(items[1].getElementValue()), "2020.0.63"); - OCIO_CHECK_EQUAL(std::string(items[2].getElementName()), "Revision"); - OCIO_CHECK_EQUAL(std::string(items[2].getElementValue()), "1"); + OCIO_CHECK_EQUAL_STR(items[1].getElementName(), "AppRelease"); + OCIO_CHECK_EQUAL_STR(items[1].getElementValue(), "2020.0.63"); + OCIO_CHECK_EQUAL_STR(items[2].getElementName(), "Revision"); + OCIO_CHECK_EQUAL_STR(items[2].getElementValue(), "1"); - OCIO_CHECK_EQUAL(std::string(items[3].getElementName()), "Category"); - OCIO_CHECK_EQUAL(std::string(items[3].getElementValue()), ""); + OCIO_CHECK_EQUAL_STR(items[3].getElementName(), "Category"); + OCIO_CHECK_EQUAL_STR(items[3].getElementValue(), ""); auto catItems = items[3].getChildrenElements(); OCIO_REQUIRE_EQUAL(catItems.size(), 1); - OCIO_CHECK_EQUAL(std::string(catItems[0].getElementName()), "Tags"); + OCIO_CHECK_EQUAL_STR(catItems[0].getElementName(), "Tags"); auto tagsItems = catItems[0].getChildrenElements(); OCIO_REQUIRE_EQUAL(tagsItems.size(), 2); - OCIO_CHECK_EQUAL(std::string(tagsItems[0].getElementName()), "SceneLinearWorkingSpace"); - OCIO_CHECK_EQUAL(std::string(tagsItems[0].getElementValue()), ""); - OCIO_CHECK_EQUAL(std::string(tagsItems[1].getElementName()), "Input"); - OCIO_CHECK_EQUAL(std::string(tagsItems[1].getElementValue()), ""); + OCIO_CHECK_EQUAL_STR(tagsItems[0].getElementName(), "SceneLinearWorkingSpace"); + OCIO_CHECK_EQUAL_STR(tagsItems[0].getElementValue(), ""); + OCIO_CHECK_EQUAL_STR(tagsItems[1].getElementName(), "Input"); + OCIO_CHECK_EQUAL_STR(tagsItems[1].getElementValue(), ""); - OCIO_CHECK_EQUAL(std::string(items[4].getElementName()), "InputColorSpace"); - OCIO_CHECK_EQUAL(std::string(items[4].getElementValue()), ""); + OCIO_CHECK_EQUAL_STR(items[4].getElementName(), "InputColorSpace"); + OCIO_CHECK_EQUAL_STR(items[4].getElementValue(), ""); auto icItems = items[4].getChildrenElements(); OCIO_REQUIRE_EQUAL(icItems.size(), 4); - OCIO_CHECK_EQUAL(std::string(icItems[0].getElementName()), OCIO::METADATA_DESCRIPTION); - OCIO_CHECK_EQUAL(std::string(icItems[0].getElementValue()), "Input color space description"); - OCIO_CHECK_EQUAL(std::string(icItems[1].getElementName()), "ImageState"); - OCIO_CHECK_EQUAL(std::string(icItems[1].getElementValue()), "video"); - OCIO_CHECK_EQUAL(std::string(icItems[2].getElementName()), "ShortName"); - OCIO_CHECK_EQUAL(std::string(icItems[2].getElementValue()), "no_version"); - OCIO_CHECK_EQUAL(std::string(icItems[3].getElementName()), "ID"); - OCIO_CHECK_EQUAL(std::string(icItems[3].getElementValue()), + OCIO_CHECK_EQUAL_STR(icItems[0].getElementName(), OCIO::METADATA_DESCRIPTION); + OCIO_CHECK_EQUAL_STR(icItems[0].getElementValue(), "Input color space description"); + OCIO_CHECK_EQUAL_STR(icItems[1].getElementName(), "ImageState"); + OCIO_CHECK_EQUAL_STR(icItems[1].getElementValue(), "video"); + OCIO_CHECK_EQUAL_STR(icItems[2].getElementName(), "ShortName"); + OCIO_CHECK_EQUAL_STR(icItems[2].getElementValue(), "no_version"); + OCIO_CHECK_EQUAL_STR(icItems[3].getElementName(), "ID"); + OCIO_CHECK_EQUAL_STR(icItems[3].getElementValue(), "387b23d1-f1ce-3f69-8544-e5601f45f78b"); - OCIO_CHECK_EQUAL(std::string(items[5].getElementName()), "OutputColorSpace"); - OCIO_CHECK_EQUAL(std::string(items[5].getElementValue()), ""); + OCIO_CHECK_EQUAL_STR(items[5].getElementName(), "OutputColorSpace"); + OCIO_CHECK_EQUAL_STR(items[5].getElementValue(), ""); auto ocItems = items[5].getChildrenElements(); OCIO_REQUIRE_EQUAL(ocItems.size(), 3); auto attribs = items[5].getAttributes(); @@ -1325,12 +1448,200 @@ OCIO_ADD_TEST(FileFormatCTF, info_example) OCIO_CHECK_EQUAL(attribs[0].second, "test1"); OCIO_CHECK_EQUAL(attribs[1].first, "att2"); OCIO_CHECK_EQUAL(attribs[1].second, "test2"); - OCIO_CHECK_EQUAL(std::string(ocItems[0].getElementName()), "ImageState"); - OCIO_CHECK_EQUAL(std::string(ocItems[0].getElementValue()), "scene"); - OCIO_CHECK_EQUAL(std::string(ocItems[1].getElementName()), "ShortName"); - OCIO_CHECK_EQUAL(std::string(ocItems[1].getElementValue()), "ACES"); - OCIO_CHECK_EQUAL(std::string(ocItems[2].getElementName()), "ID"); - OCIO_CHECK_EQUAL(std::string(ocItems[2].getElementValue()), "1"); + OCIO_CHECK_EQUAL_STR(ocItems[0].getElementName(), "ImageState"); + OCIO_CHECK_EQUAL_STR(ocItems[0].getElementValue(), "scene"); + OCIO_CHECK_EQUAL_STR(ocItems[1].getElementName(), "ShortName"); + OCIO_CHECK_EQUAL_STR(ocItems[1].getElementValue(), "ACES"); + OCIO_CHECK_EQUAL_STR(ocItems[2].getElementName(), "ID"); + OCIO_CHECK_EQUAL_STR(ocItems[2].getElementValue(), "1"); +} + +OCIO_ADD_TEST(FileFormatCTF, smpte_all_metadata) +{ + // Function to check children elements and their attributes. + auto checkCommonMetadata = [](const OCIO::FormatMetadataImpl& md) + { + auto & items = md.getChildrenElements(); + OCIO_REQUIRE_EQUAL(items.size(), 9); + OCIO_CHECK_EQUAL_STR(items[0].getElementName(), "Id"); + OCIO_CHECK_EQUAL_STR(items[0].getElementValue(), "urn:uuid:a8f91bfa-b79f-5d4d-b750-a411c476bb47"); + + OCIO_CHECK_EQUAL_STR(items[1].getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(items[1].getElementValue(), "Demo Advanced LUT with dummy values"); + OCIO_CHECK_EQUAL_STR(items[1].getAttributeValue("language"), "en"); + + OCIO_CHECK_EQUAL_STR(items[2].getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(items[2].getElementValue(), "Démonstration d'une LUT avancée avec des valeurs factices"); + OCIO_CHECK_EQUAL_STR(items[2].getAttributeValue("language"), "fr"); + + OCIO_CHECK_EQUAL_STR(items[3].getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(items[3].getElementValue(), "Demo Erweiterte LUT mit Dummy-Werten"); + OCIO_CHECK_EQUAL_STR(items[3].getAttributeValue("language"), "de"); + + OCIO_CHECK_EQUAL_STR(items[4].getElementName(), "InputDescriptor"); + OCIO_CHECK_EQUAL_STR(items[4].getElementValue(), "ITU-R BT.709"); + OCIO_CHECK_EQUAL_STR(items[4].getAttributeValue("language"), "en-GB"); + + OCIO_CHECK_EQUAL_STR(items[5].getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(items[5].getElementValue(), "Same as Input"); + OCIO_CHECK_EQUAL_STR(items[5].getAttributeValue("language"), "en-US"); + + OCIO_CHECK_EQUAL_STR(items[6].getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(items[6].getElementValue(), "Identique à l'entrée"); + OCIO_CHECK_EQUAL_STR(items[6].getAttributeValue("language"), "fr"); + + OCIO_CHECK_EQUAL_STR(items[7].getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(items[7].getElementValue(), "Gleiches wie Eingabe"); + OCIO_CHECK_EQUAL_STR(items[7].getAttributeValue("language"), "de"); + + OCIO_CHECK_EQUAL_STR(items[8].getElementName(), "Info"); + OCIO_CHECK_EQUAL_STR(items[8].getElementValue(), ""); + + // Info block (name spaces are retained) + auto & info = items[8].getChildrenElements(); + OCIO_REQUIRE_EQUAL(info.size(), 9); + OCIO_CHECK_EQUAL_STR(info[0].getElementName(), "Profile"); + OCIO_CHECK_EQUAL_STR(info[0].getElementValue(), "http://www.smpte-ra.org/ns/2136-10/2026#Live_Broadcast_LUT33"); + + OCIO_CHECK_EQUAL_STR(info[1].getElementName(), "AppRelease"); + OCIO_CHECK_EQUAL_STR(info[1].getElementValue(), "SMPTE_2136-10_Example"); + + OCIO_CHECK_EQUAL_STR(info[2].getElementName(), "Copyright"); + OCIO_CHECK_EQUAL_STR(info[2].getElementValue(), "OCIO contributors"); + + OCIO_CHECK_EQUAL_STR(info[3].getElementName(), "Revision"); + OCIO_CHECK_EQUAL_STR(info[3].getElementValue(), "1.0"); + + OCIO_CHECK_EQUAL_STR(info[4].getElementName(), "clfbp:InputCharacteristics"); + OCIO_CHECK_EQUAL_STR(info[4].getElementValue(), ""); + + OCIO_CHECK_EQUAL_STR(info[5].getElementName(), "clfbp:OutputCharacteristics"); + OCIO_CHECK_EQUAL_STR(info[5].getElementValue(), ""); + + OCIO_CHECK_EQUAL_STR(info[6].getElementName(), "clfbp:OutputVideoSignalClipping"); + OCIO_CHECK_EQUAL_STR(info[6].getElementValue(), "sdiClip"); + + OCIO_CHECK_EQUAL_STR(info[7].getElementName(), "Keywords"); + OCIO_CHECK_EQUAL_STR(info[7].getElementValue(), "Test, Display-light"); + + OCIO_CHECK_EQUAL_STR(info[8].getElementName(), "clfbp:ContactEmail"); + OCIO_CHECK_EQUAL_STR(info[8].getElementValue(), "fake-email@ocio.org"); + + // Info / InputCharacteristics + auto & input = info[4].getChildrenElements(); + OCIO_REQUIRE_EQUAL(input.size(), 3); + OCIO_CHECK_EQUAL_STR(input[0].getElementName(), "clfbp:ColorPrimaries"); + OCIO_CHECK_EQUAL_STR(input[0].getElementValue(), "ColorPrimaries_ITU709"); + + OCIO_CHECK_EQUAL_STR(input[1].getElementName(), "clfbp:TransferCharacteristic"); + OCIO_CHECK_EQUAL_STR(input[1].getElementValue(), "TransferCharacteristic_ITU709"); + + OCIO_CHECK_EQUAL_STR(input[2].getElementName(), "clfbp:CodingEquations"); + OCIO_CHECK_EQUAL_STR(input[2].getElementValue(), "CodingEquations_ITU709"); + + // Info / OutputCharacteristics + auto & output = info[5].getChildrenElements(); + OCIO_REQUIRE_EQUAL(output.size(), 3); + OCIO_CHECK_EQUAL_STR(output[0].getElementName(), "clfbp:ColorPrimaries"); + OCIO_CHECK_EQUAL_STR(output[0].getElementValue(), "ColorPrimaries_ITU2020"); + + OCIO_CHECK_EQUAL_STR(output[1].getElementName(), "clfbp:TransferCharacteristic"); + OCIO_CHECK_EQUAL_STR(output[1].getElementValue(), "TransferCharacteristic_SMPTEST2084"); + + OCIO_CHECK_EQUAL_STR(output[2].getElementName(), "clfbp:CodingEquations"); + OCIO_CHECK_EQUAL_STR(output[2].getElementValue(), "CodingEquations_ITU2100_ICtCp"); + }; + + // Read the file and check the metadata content. + const std::string ctfFile("clf/smpte_only/broadcast_profile_lut33.clf"); + OCIO::ConstProcessorRcPtr processor; + OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); + OCIO_REQUIRE_ASSERT(processor); + + // Check the metadata + { + const auto& md1 = dynamic_cast( + processor->getFormatMetadata()); + + // Root attributes. + OCIO_REQUIRE_EQUAL(md1.getNumAttributes(), 2); + + OCIO_CHECK_EQUAL_STR(md1.getAttributeName(0), "name"); + OCIO_CHECK_EQUAL_STR(md1.getAttributeValue(0),"SMPTE Example Live Broadcast LUT33 Profile"); + + OCIO_CHECK_EQUAL_STR(md1.getAttributeName(1), "xmlns:clfbp"); + OCIO_CHECK_EQUAL_STR(md1.getAttributeValue(1),"http://www.smpte-ra.org/ns/2136-10/2026"); + + // Child nodes. + checkCommonMetadata(md1); + } + + // Write, read back and check if metadata survives the roundtrip. + { + std::ostringstream oss; + const auto group = processor->createGroupTransform(); + OCIO::ConstConfigRcPtr config = OCIO::Config::CreateRaw(); + OCIO_CHECK_NO_THROW(group->write(config, "Academy/ASC Common LUT Format", oss)); + auto str = oss.str(); + + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_NO_THROW(cachedFile = ParseString(str)); + + // Get the combined metadata from the the transform. + OCIO::FormatMetadataImpl md2; + cachedFile->m_transform->toMetadata(md2); + + // Root Attributes (will be different as id is added) + OCIO_REQUIRE_EQUAL(md2.getNumAttributes(), 3); + + OCIO_CHECK_EQUAL_STR(md2.getAttributeName(0), "id"); + OCIO_CHECK_EQUAL_STR(md2.getAttributeValue(0), "urn:uuid:9656a363-bf0a-c5f9-debe-8a083b88107f"); + + OCIO_CHECK_EQUAL_STR(md2.getAttributeName(1), "name"); + OCIO_CHECK_EQUAL_STR(md2.getAttributeValue(1), "SMPTE Example Live Broadcast LUT33 Profile"); + + OCIO_CHECK_EQUAL_STR(md2.getAttributeName(2), "xmlns:clfbp"); + OCIO_CHECK_EQUAL_STR(md2.getAttributeValue(2), "http://www.smpte-ra.org/ns/2136-10/2026"); + + // Child nodes should be identical. + checkCommonMetadata(md2); + } +} + +OCIO_ADD_TEST(FileFormatCTF, smpte_namespaces) +{ + const std::string ctfFile("clf/smpte_only/namespaces.clf"); + + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + + // Check the op. + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); + OCIO_REQUIRE_EQUAL(opList.size(), 1); + + auto lut1d = OCIO::DynamicPtrCast(opList[0]); + OCIO_CHECK_ASSERT(lut1d); + + // Check the meta data. + OCIO::ConstProcessorRcPtr processor; + OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); + OCIO_REQUIRE_ASSERT(processor); + const auto& md = processor->getFormatMetadata(); + + // Attributes. + OCIO_REQUIRE_EQUAL(md.getNumAttributes(), 3); + OCIO_CHECK_EQUAL_STR(md.getAttributeName(0), "id"); + OCIO_CHECK_EQUAL_STR(md.getAttributeValue(0),"pl1"); + OCIO_CHECK_EQUAL_STR(md.getAttributeName(1), "xmlns:clf"); + OCIO_CHECK_EQUAL_STR(md.getAttributeValue(1),"http://www.smpte-ra.org/ns/2136-1/2024"); + OCIO_CHECK_EQUAL_STR(md.getAttributeName(2), "xmlns:ds"); + OCIO_CHECK_EQUAL_STR(md.getAttributeValue(2),"http://www.w3.org/2000/09/xmldsig#"); + + // Name-spaced description will be available without the namespace prefix. + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 1); + const auto& desc = md.getChildElement(0); + OCIO_CHECK_EQUAL_STR(desc.getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(desc.getElementValue(),"Example CLF file using namespaces."); } OCIO_ADD_TEST(FileFormatCTF, difficult_syntax) @@ -1341,30 +1652,45 @@ OCIO_ADD_TEST(FileFormatCTF, difficult_syntax) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("clf/difficult_syntax.clf"); + // Add a log guard to catch warnings. + OCIO::LogGuard guard; + OCIO::SetLoggingLevel(OCIO::LOGGING_LEVEL_WARNING); + OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); + // Check the expected warning. + static constexpr char Warning[1024] = + "difficult_syntax.clf(41): Unrecognized attribute 'unknown' of 'LUT1D'."; + OCIO_CHECK_NE(std::string::npos, + StringUtils::Find( StringUtils::RightTrim(guard.output()), Warning )); + const OCIO::CTFVersion clfVersion = cachedFile->m_transform->getCLFVersion(); - const OCIO::CTFVersion ver(3, 0, 0); + const OCIO::CTFVersion ver("http://www.smpte-ra.org/ns/2136-1/2024", OCIO::CTFVersion::VERSION_SMPTE_XMLNS); OCIO_CHECK_EQUAL(clfVersion, ver); OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "id1"); - OCIO_REQUIRE_EQUAL(cachedFile->m_transform->getDescriptions().size(), 2); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], - "This is the ProcessList description."); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[1], - "yet 'another' \"valid\" desc"); + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 2); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), + "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(), + "This is the ProcessList description."); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementName(), + "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(1).getElementValue(), + "yet 'another' \"valid\" desc"); const OCIO::FormatMetadataImpl & info = cachedFile->m_transform->getInfoMetadata(); - OCIO_CHECK_EQUAL(std::string(info.getElementName()), OCIO::METADATA_INFO); + OCIO_CHECK_EQUAL_STR(info.getElementName(), OCIO::METADATA_INFO); auto items = info.getChildrenElements(); OCIO_REQUIRE_EQUAL(items.size(), 1); - OCIO_CHECK_EQUAL(std::string(items[0].getElementName()), "Stuff"); - OCIO_CHECK_EQUAL(std::string(items[0].getElementValue()), + OCIO_CHECK_EQUAL_STR(items[0].getElementName(), "Stuff"); + OCIO_CHECK_EQUAL_STR(items[0].getElementValue(), "This is a \"difficult\" but 'legal' color transform file."); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); { auto pMatrix = std::dynamic_pointer_cast(opList[0]); @@ -1480,7 +1806,7 @@ OCIO_ADD_TEST(FileFormatCTF, difficult_xml_unknown_elements) const OCIO::CTFVersion ctfVersion = cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_ASSERT(OCIO::CTF_PROCESS_LIST_VERSION_1_2 == ctfVersion); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto pMatrix = std::dynamic_pointer_cast(opList[0]); @@ -1564,7 +1890,7 @@ OCIO_ADD_TEST(FileFormatCTF, unknown_elements) } } - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 4); auto pMatrix = std::dynamic_pointer_cast(opList[0]); @@ -1673,7 +1999,7 @@ OCIO_ADD_TEST(FileFormatCTF, process_list_invalid_version) OCIO_ADD_TEST(FileFormatCTF, clf_process_list_bad_version) { - std::string fileName("clf/illegal/process_list_bad_version.clf"); + std::string fileName("clf/pre-smpte_only/illegal/process_list_bad_version.clf"); OCIO_CHECK_THROW_WHAT(LoadCLFFile(fileName), OCIO::Exception, "is not a valid version"); @@ -1684,12 +2010,29 @@ OCIO_ADD_TEST(FileFormatCTF, process_list_valid_version) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("process_list_valid_version.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + OCIO_REQUIRE_ASSERT(cachedFile); const OCIO::CTFVersion ctfVersion = cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_EQUAL(ctfVersion, OCIO::CTF_PROCESS_LIST_VERSION_1_4); } +OCIO_ADD_TEST(FileFormatCTF, non_smpte_xmlns) +{ + const std::string ctfFile("clf/pre-smpte_only/process_list_v3_namespace.clf"); + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + + // Check the op. + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); + OCIO_REQUIRE_EQUAL(opList.size(), 1); + + auto mat = OCIO::DynamicPtrCast(opList[0]); + OCIO_REQUIRE_ASSERT(mat); + OCIO_CHECK_EQUAL(mat->getFileInputBitDepth(), OCIO::BIT_DEPTH_F32); + OCIO_CHECK_EQUAL(mat->getFileOutputBitDepth(), OCIO::BIT_DEPTH_F32); +} + OCIO_ADD_TEST(FileFormatCTF, process_list_higher_version) { const std::string ctfFile("process_list_higher_version.ctf"); @@ -1700,7 +2043,7 @@ OCIO_ADD_TEST(FileFormatCTF, process_list_higher_version) OCIO_ADD_TEST(FileFormatCTF, clf_process_list_higher_version) { - const std::string ctfFile("clf/illegal/process_list_higher_version.clf"); + const std::string ctfFile("clf/pre-smpte_only/illegal/process_list_higher_version.clf"); OCIO_CHECK_THROW_WHAT(LoadCLFFile(ctfFile), OCIO::Exception, "Unsupported transform file version"); @@ -1711,6 +2054,7 @@ OCIO_ADD_TEST(FileFormatCTF, process_list_version_revision) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("process_list_version_revision.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + OCIO_REQUIRE_ASSERT(cachedFile); const OCIO::CTFVersion ctfVersion = cachedFile->m_transform->getCTFVersion(); @@ -1725,12 +2069,34 @@ OCIO_ADD_TEST(FileFormatCTF, process_list_no_version) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("process_list_no_version.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); + OCIO_REQUIRE_ASSERT(cachedFile); const OCIO::CTFVersion ctfVersion = cachedFile->m_transform->getCTFVersion(); OCIO_CHECK_EQUAL(ctfVersion, OCIO::CTF_PROCESS_LIST_VERSION_1_2); } +OCIO_ADD_TEST(FileFormatCTF, smpte_conflicting_version) +{ + const std::string ctfFile("process_list_conflicting_versions.ctf"); + + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_THROW_WHAT(cachedFile = LoadCLFFile(ctfFile), + OCIO::Exception, + "SMPTE 'xmlns' version and 'Version' attribute cannot both be present.") +} + +OCIO_ADD_TEST(FileFormatCTF, smpte_higher_ns_version) +{ + const std::string ctfFile("clf/smpte_only/illegal/process_list_higher_ns_version.clf"); + + OCIO::LocalCachedFileRcPtr cachedFile; + OCIO_CHECK_THROW_WHAT(cachedFile = LoadCLFFile(ctfFile), + OCIO::Exception, + "No valid 'version', 'compCLFversion', or 'xmlns' attributes " + "were found; at least one of them is required."); +} + OCIO_ADD_TEST(FileFormatCTF, info_element_version_test) { // VALID - No Version. @@ -1788,7 +2154,7 @@ OCIO_ADD_TEST(FileFormatCTF, transform_element_end_missing) OCIO_ADD_TEST(FileFormatCTF, transform_missing_id) { - const std::string ctfFile("clf/illegal/transform_missing_id.clf"); + const std::string ctfFile("clf/pre-smpte_only/illegal/transform_missing_id.clf"); OCIO_CHECK_THROW_WHAT(LoadCLFFile(ctfFile), OCIO::Exception, "Required attribute 'id'"); @@ -1884,10 +2250,10 @@ OCIO_ADD_TEST(FileFormatCTF, transform_empty) OCIO_ADD_TEST(FileFormatCTF, transform_id_empty) { - const std::string ctfFile("clf/illegal/transform_id_empty.clf"); + const std::string ctfFile("clf/pre-smpte_only/illegal/transform_id_empty.clf"); OCIO_CHECK_THROW_WHAT(LoadCLFFile(ctfFile), OCIO::Exception, - "Required attribute 'id' does not have a value"); + "Attribute 'id' does not have a value"); } OCIO_ADD_TEST(FileFormatCTF, transform_with_bitdepth_mismatch) @@ -1908,8 +2274,11 @@ OCIO_ADD_TEST(FileFormatCTF, inverse_of_id_test) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - OCIO_CHECK_ASSERT(cachedFile->m_transform->getInverseOfId() == - "inverseOfIdTest"); + + auto& meta = cachedFile->m_transform->getFormatMetadata(); + + OCIO_CHECK_EQUAL_STR(meta.getAttributeValue("inverseOf"), + "inverseOfIdTest"); } OCIO_ADD_TEST(FileFormatCTF, range_default) @@ -1920,7 +2289,7 @@ OCIO_ADD_TEST(FileFormatCTF, range_default) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -1945,7 +2314,7 @@ OCIO_ADD_TEST(FileFormatCTF, range_test1_clamp) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -1970,7 +2339,7 @@ OCIO_ADD_TEST(FileFormatCTF, range_test1_noclamp) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); // Check that the noClamp style Range became a Matrix. @@ -2018,7 +2387,7 @@ OCIO_ADD_TEST(FileFormatCTF, range_test2) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -2074,7 +2443,7 @@ OCIO_ADD_TEST(FileFormatCTF, indexMap_test1_clfv2) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -2101,7 +2470,7 @@ OCIO_ADD_TEST(FileFormatCTF, indexMap_test2_clfv2) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto pR = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pR); @@ -2159,10 +2528,12 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_test1) OCIO_CHECK_EQUAL(cachedFile->m_transform->getID(), "id"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions().size(), 1); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getDescriptions()[0], "2.4 gamma"); + auto & md = cachedFile->m_transform->getFormatMetadata(); + OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 1); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(md.getChildElement(0).getElementValue(),"2.4 gamma"); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2191,7 +2562,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_test2) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2222,7 +2593,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_test3) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2252,7 +2623,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_test4) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2299,7 +2670,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_test6) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2321,7 +2692,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_alpha_test1) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2352,7 +2723,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_alpha_test2) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2388,7 +2759,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_alpha_test3) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2420,7 +2791,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_alpha_test4) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2461,7 +2832,7 @@ OCIO_ADD_TEST(FileFormatCTF, gamma_alpha_test5) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pG = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pG); @@ -2517,7 +2888,8 @@ OCIO_ADD_TEST(FileFormatCTF, exponent_all_styles) OCIO::LocalCachedFileRcPtr cachedFile; const std::string fileName("clf/exponent_all_styles.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 12); { // Op 0 == basicFwd. @@ -2703,11 +3075,16 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_clamp_fwd) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getInputDescriptor(), - "inputDesc"); - OCIO_CHECK_EQUAL(cachedFile->m_transform->getOutputDescriptor(), - "outputDesc"); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); + + auto inDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_INPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(inDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(inDescs[0].getElementValue(), "inputDesc"); + + auto outDescs = getChildrenMetadata(cachedFile->m_transform, OCIO::METADATA_OUTPUT_DESCRIPTOR); + OCIO_CHECK_EQUAL(outDescs.size(), 1); + OCIO_CHECK_EQUAL_STR(outDescs[0].getElementValue(), "outputDesc"); + OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pCDL = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pCDL); @@ -2742,7 +3119,7 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_missing_style) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pCDL = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pCDL); @@ -2766,7 +3143,7 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_all_styles) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 4); auto pCDL = std::dynamic_pointer_cast(opList[0]); @@ -2842,7 +3219,7 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_missing_sop) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pCDL = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pCDL); @@ -2863,7 +3240,7 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_missing_sat) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto pCDL = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(pCDL); @@ -2886,7 +3263,7 @@ OCIO_ADD_TEST(FileFormatCTF, cdl_various_in_ctf) OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT((bool)cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 8); auto pCDL = std::dynamic_pointer_cast(opList[0]); @@ -2927,7 +3304,8 @@ OCIO_ADD_TEST(FileFormatCTF, log_all_styles) OCIO::LocalCachedFileRcPtr cachedFile; const std::string fileName("clf/log_all_styles.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 11); double error = 1e-9; @@ -3098,7 +3476,8 @@ OCIO_ADD_TEST(FileFormatCTF, log_logtolin) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("log_logtolin.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); auto op = fileOps[0]; auto log = std::dynamic_pointer_cast(op); @@ -3125,7 +3504,8 @@ OCIO_ADD_TEST(FileFormatCTF, log_logtolinv2) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("log_logtolinv2.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); auto op = fileOps[0]; auto log = std::dynamic_pointer_cast(op); @@ -3151,7 +3531,8 @@ OCIO_ADD_TEST(FileFormatCTF, log_lintolog_3chan) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("log_lintolog_3chan.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); auto op = fileOps[0]; auto log = std::dynamic_pointer_cast(op); @@ -3194,7 +3575,7 @@ OCIO_ADD_TEST(FileFormatCTF, log_bad_style) OCIO_ADD_TEST(FileFormatCTF, log_bad_version) { - std::string fileName("clf/illegal/log_bad_version.clf"); + std::string fileName("clf/pre-smpte_only/illegal/log_bad_version.clf"); OCIO_CHECK_THROW_WHAT(LoadCLFFile(fileName), OCIO::Exception, "CLF file version '2' does not support operator 'Log'"); } @@ -3227,7 +3608,7 @@ OCIO_ADD_TEST(FileFormatCTF, log_ocio_params_channels) strebuf << "\n"; OCIO::LocalCachedFileRcPtr cachedFile = ParseString(strebuf.str()); - OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); auto op = fileOps[0]; @@ -3280,7 +3661,8 @@ OCIO_ADD_TEST(FileFormatCTF, log_default_params) OCIO::LocalCachedFileRcPtr cachedFile; OCIO_CHECK_NO_THROW(cachedFile = ParseString(strebuf.str())); - OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 2); auto op = fileOps[0]; @@ -3314,7 +3696,8 @@ OCIO_ADD_TEST(FileFormatCTF, multiple_ops) OCIO::LocalCachedFileRcPtr cachedFile; const std::string ctfFile("clf/multiple_ops.clf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 9); { // Op 0 == CDL. @@ -3427,7 +3810,8 @@ OCIO_ADD_TEST(FileFormatCTF, reference_load_alias) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("reference_alias.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; @@ -3446,7 +3830,8 @@ OCIO_ADD_TEST(FileFormatCTF, reference_load_path) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("reference_path_missing_file.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; @@ -3464,7 +3849,8 @@ OCIO_ADD_TEST(FileFormatCTF, reference_load_multiple) // File contains 2 references, 1 range and 1 reference. std::string fileName("references_some_inverted.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 4); OCIO::ConstOpDataRcPtr op0 = fileOps[0]; @@ -3500,7 +3886,8 @@ OCIO_ADD_TEST(FileFormatCTF, reference_load_path_utf8) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("reference_utf8.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstReferenceOpDataRcPtr ref = std::dynamic_pointer_cast(op); @@ -3524,7 +3911,7 @@ OCIO_ADD_TEST(FileFormatCTF, exposure_contrast_video) const std::string ctfFile("exposure_contrast_video.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT(cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); @@ -3557,7 +3944,7 @@ OCIO_ADD_TEST(FileFormatCTF, exposure_contrast_log) const std::string ctfFile("exposure_contrast_log.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT(cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); @@ -3594,7 +3981,7 @@ OCIO_ADD_TEST(FileFormatCTF, exposure_contrast_linear) const std::string ctfFile("exposure_contrast_linear.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT(cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); @@ -3631,7 +4018,7 @@ OCIO_ADD_TEST(FileFormatCTF, exposure_contrast_no_gamma) const std::string ctfFile("exposure_contrast_no_gamma.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(ctfFile)); OCIO_REQUIRE_ASSERT(cachedFile); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); @@ -3703,7 +4090,7 @@ OCIO_ADD_TEST(FileFormatCTF, attribute_float_parse_leading_spaces) OCIO::CachedFileRcPtr file; OCIO_CHECK_NO_THROW(file = tester.read(ctf, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); const auto op = fileOps[0]; @@ -3718,7 +4105,8 @@ OCIO_ADD_TEST(FileFormatCTF, load_deprecated_ops_file) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("deprecated_ops.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 3); @@ -3761,7 +4149,8 @@ OCIO_ADD_TEST(FileFormatCTF, load_fixed_function_file) OCIO::LocalCachedFileRcPtr cachedFile; std::string fileName("fixed_function.ctf"); OCIO_CHECK_NO_THROW(cachedFile = LoadCLFFile(fileName)); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 2); @@ -3829,7 +4218,8 @@ void ValidateFixedFunctionStyle(OCIO::FixedFunctionOpData::Style style, // Test parsing. OCIO::LocalCachedFileRcPtr cachedFile; OCIO_CHECK_NO_THROW_FROM(cachedFile = ParseString(strebuf.str()), lineNo); - OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + OCIO_REQUIRE_ASSERT(cachedFile); + OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL_FROM(fileOps.size(), 1, lineNo); auto opData = fileOps[0]; @@ -4050,7 +4440,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_primary_log) OCIO_CHECK_NO_THROW(file = tester.read(ctfLog, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 4); const auto op0 = fileOps[0]; @@ -4154,7 +4544,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_primary_lin) OCIO_CHECK_NO_THROW(file = tester.read(ctfLin, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 4); const auto op0 = fileOps[0]; @@ -4255,7 +4645,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_primary_video) OCIO_CHECK_NO_THROW(file = tester.read(ctfVideo, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 4); const auto op0 = fileOps[0]; @@ -4454,7 +4844,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_rgbcurves_lin) OCIO_CHECK_NO_THROW(file = tester.read(ctfLin, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 3); const auto op0 = fileOps[0]; @@ -4542,7 +4932,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_rgbcurves_log) OCIO_CHECK_NO_THROW(file = tester.read(ctfLog, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); const auto op0 = fileOps[0]; @@ -4640,7 +5030,7 @@ OCIO_ADD_TEST(FileFormatCTF, load_grading_huecurves_log) OCIO_CHECK_NO_THROW(file = tester.read(ctfLog, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); const auto op0 = fileOps[0]; @@ -4848,7 +5238,7 @@ OCIO_ADD_TEST(CTFTransform, load_grading_tone) OCIO_CHECK_NO_THROW(file = tester.read(ctfLog, emptyString, OCIO::INTERP_DEFAULT)); OCIO::LocalCachedFileRcPtr cachedFile = OCIO_DYNAMIC_POINTER_CAST(file); OCIO_REQUIRE_ASSERT(cachedFile); - const auto & fileOps = cachedFile->m_transform->getOps(); + const auto & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 6); @@ -4937,7 +5327,7 @@ OCIO_ADD_TEST(CTFTransform, load_grading_tone_errors) OCIO_ADD_TEST(CTFTransform, load_edit_save_matrix) { - const std::string ctfFile("clf/matrix_example.clf"); + const std::string ctfFile("clf/pre-smpte_only/matrix_example.clf"); OCIO::ConstProcessorRcPtr processor; OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); OCIO_REQUIRE_ASSERT(processor); @@ -4979,7 +5369,7 @@ OCIO_ADD_TEST(CTFTransform, load_edit_save_matrix) // Output matrix array as '3 4 3'. const std::string expectedCTF{ R"( - + Basic matrix example using CLF v2 dim syntax RGB XYZ @@ -5013,25 +5403,25 @@ OCIO_ADD_TEST(CTFTransform, load_edit_save_matrix) OCIO::CachedFileRcPtr file = tester.read(inputTransform, emptyString, OCIO::INTERP_DEFAULT); OCIO::LocalCachedFileRcPtr cachedFile = OCIO::DynamicPtrCast(file); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstMatrixOpDataRcPtr mat = OCIO::DynamicPtrCast(op); OCIO_REQUIRE_ASSERT(mat); const auto & md = mat->getFormatMetadata(); OCIO_REQUIRE_EQUAL(md.getNumAttributes(), 2); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_ID), md.getAttributeName(0)); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_NAME), md.getAttributeName(1)); + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_ID, md.getAttributeName(0)); + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_NAME, md.getAttributeName(1)); OCIO_CHECK_EQUAL(shortName, md.getAttributeValue(1)); OCIO_REQUIRE_EQUAL(md.getNumChildrenElements(), 4); const auto & desc0 = md.getChildElement(0); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_DESCRIPTION), desc0.getElementName()); - OCIO_CHECK_EQUAL(std::string(R"(Legacy matrix)"), desc0.getElementValue()); + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_DESCRIPTION, desc0.getElementName()); + OCIO_CHECK_EQUAL_STR("Legacy matrix", desc0.getElementValue()); const auto & desc1 = md.getChildElement(2); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_DESCRIPTION), desc1.getElementName()); + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_DESCRIPTION, desc1.getElementName()); OCIO_CHECK_EQUAL(description1, desc1.getElementValue()); const auto & desc2 = md.getChildElement(3); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_DESCRIPTION), desc2.getElementName()); + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_DESCRIPTION, desc2.getElementName()); OCIO_CHECK_EQUAL(description2, desc2.getElementValue()); } @@ -5063,7 +5453,7 @@ OCIO_ADD_TEST(CTFTransform, save_matrix) matTransform->setDirection(OCIO::TRANSFORM_DIR_FORWARD); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(matTransform); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstMatrixOpDataRcPtr mat = OCIO::DynamicPtrCast(op); @@ -5097,7 +5487,7 @@ OCIO_ADD_TEST(CTFTransform, save_cdl) cdlTransform->getFormatMetadata().addChildElement(OCIO::METADATA_SAT_DESCRIPTION, "Sat description 2"); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(cdlTransform); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstCDLOpDataRcPtr cdl = OCIO::DynamicPtrCast(op); @@ -5105,21 +5495,21 @@ OCIO_ADD_TEST(CTFTransform, save_cdl) OCIO_CHECK_EQUAL(cdl->getID(), "test-cdl-1"); const auto & metadata = cdl->getFormatMetadata(); OCIO_REQUIRE_EQUAL(metadata.getNumChildrenElements(), 8); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_DESCRIPTION, metadata.getChildElement(0).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_DESCRIPTION, metadata.getChildElement(1).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_INPUT_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_INPUT_DESCRIPTION, metadata.getChildElement(2).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_VIEWING_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_VIEWING_DESCRIPTION, metadata.getChildElement(3).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_SOP_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_SOP_DESCRIPTION, metadata.getChildElement(4).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_SOP_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_SOP_DESCRIPTION, metadata.getChildElement(5).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_SAT_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_SAT_DESCRIPTION, metadata.getChildElement(6).getElementName()); - OCIO_CHECK_EQUAL(std::string(OCIO::METADATA_SAT_DESCRIPTION), + OCIO_CHECK_EQUAL_STR(OCIO::METADATA_SAT_DESCRIPTION, metadata.getChildElement(7).getElementName()); auto params = cdl->getSlopeParams(); OCIO_CHECK_EQUAL(params[0], slope[0]); @@ -5145,7 +5535,7 @@ void TestSaveLog(double base, unsigned line) logT->setBase(base); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(logT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL_FROM(fileOps.size(), 1, line); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLogOpDataRcPtr log = OCIO::DynamicPtrCast(op); @@ -5170,7 +5560,7 @@ OCIO_ADD_TEST(CTFTransform, save_log_affine) logT->setLinSideSlopeValue(vals); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(logT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLogOpDataRcPtr log = OCIO::DynamicPtrCast(op); @@ -5193,7 +5583,7 @@ OCIO_ADD_TEST(CTFTransform, save_log_camera) logT->setLinearSlopeValue(vals_ls); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(logT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLogOpDataRcPtr log = OCIO::DynamicPtrCast(op); @@ -5273,7 +5663,7 @@ OCIO_ADD_TEST(CTFTransform, save_lut1d_halfdomain) } OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(lutT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLut1DOpDataRcPtr lut = OCIO::DynamicPtrCast(op); @@ -5322,7 +5712,7 @@ OCIO_ADD_TEST(CTFTransform, save_lut1d_f16_raw) lutT->setValue(1, values[3], values[4], values[5]); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(lutT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLut1DOpDataRcPtr lut = OCIO::DynamicPtrCast(op); @@ -5364,7 +5754,7 @@ OCIO_ADD_TEST(CTFTransform, save_lut1d_f32) lutT->setValue(7, values[7], values[7], values[7]); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(lutT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstLut1DOpDataRcPtr lut = OCIO::DynamicPtrCast(op); @@ -5479,7 +5869,7 @@ OCIO_ADD_TEST(CTFTransform, save_range) rangeT->setMaxOutValue(1.5); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(rangeT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 1); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstRangeOpDataRcPtr range = OCIO::DynamicPtrCast(op); @@ -5509,7 +5899,7 @@ OCIO_ADD_TEST(CTFTransform, save_group) groupT->appendTransform(matT); OCIO::LocalCachedFileRcPtr cachedFile = WriteRead(groupT); - const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & fileOps = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(fileOps.size(), 2); OCIO::ConstOpDataRcPtr op = fileOps[0]; OCIO::ConstRangeOpDataRcPtr range = OCIO::DynamicPtrCast(op); @@ -5522,7 +5912,7 @@ OCIO_ADD_TEST(CTFTransform, save_group) OCIO_ADD_TEST(CTFTransform, load_save_matrix) { - const std::string ctfFile("clf/matrix_example.clf"); + const std::string ctfFile("clf/pre-smpte_only/matrix_example.clf"); OCIO::ConstProcessorRcPtr processor; OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); OCIO_REQUIRE_ASSERT(processor); @@ -5533,7 +5923,7 @@ OCIO_ADD_TEST(CTFTransform, load_save_matrix) // Output matrix array as '3 3 3'. const std::string expected{ R"( - + Basic matrix example using CLF v2 dim syntax RGB XYZ @@ -5580,7 +5970,7 @@ OCIO_ADD_TEST(CTFTransform, save_matrix_444) OCIO_ADD_TEST(CTFTransform, load_edit_save_matrix_clf) { - const std::string ctfFile("clf/matrix_example.clf"); + const std::string ctfFile("clf/pre-smpte_only/matrix_example.clf"); OCIO::ConstProcessorRcPtr processor; OCIO_CHECK_NO_THROW(processor = OCIO::GetFileTransformProcessor(ctfFile)); OCIO_REQUIRE_ASSERT(processor); @@ -5595,12 +5985,14 @@ OCIO_ADD_TEST(CTFTransform, load_edit_save_matrix_clf) const double offset[] = { 0.1, 1.2, 2.3, 0.0 }; matTrans->setOffset(offset); - std::ostringstream outputTransform; - OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransform)); + // CLF Academy + { + std::ostringstream outputTransform; + OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransform)); - const std::string expectedCLF{ -R"( - + const std::string expectedCLF_Academy{ + R"( + Basic matrix example using CLF v2 dim syntax RGB XYZ @@ -5615,20 +6007,23 @@ R"( -)" }; +)"}; - OCIO_CHECK_EQUAL(expectedCLF.size(), outputTransform.str().size()); - OCIO_CHECK_EQUAL(expectedCLF, outputTransform.str()); + OCIO_CHECK_EQUAL(expectedCLF_Academy.size(), outputTransform.str().size()); + OCIO_CHECK_EQUAL(expectedCLF_Academy, outputTransform.str()); + } - const double offsetAlpha[] = { 0.1, 1.2, 2.3, 0.9 }; - matTrans->setOffset(offsetAlpha); + // CTF + { + const double offsetAlpha[] = { 0.1, 1.2, 2.3, 0.9 }; + matTrans->setOffset(offsetAlpha); - std::ostringstream outputTransformCTF; - OCIO_CHECK_NO_THROW(WriteGroupCTF(group, outputTransformCTF)); + std::ostringstream outputTransformCTF; + OCIO_CHECK_NO_THROW(WriteGroupCTF(group, outputTransformCTF)); - const std::string expectedCTF{ -R"( - + const std::string expectedCTF{ + R"( + Basic matrix example using CLF v2 dim syntax RGB XYZ @@ -5644,10 +6039,13 @@ R"( -)" }; +)"}; + + OCIO_CHECK_EQUAL(expectedCTF.size(), outputTransformCTF.str().size()); + OCIO_CHECK_EQUAL(expectedCTF, outputTransformCTF.str()); + } + - OCIO_CHECK_EQUAL(expectedCTF.size(), outputTransformCTF.str().size()); - OCIO_CHECK_EQUAL(expectedCTF, outputTransformCTF.str()); } OCIO_ADD_TEST(CTFTransform, matrix3x3_clf) @@ -5671,7 +6069,7 @@ OCIO_ADD_TEST(CTFTransform, matrix3x3_clf) // In/out bit-depth equal, matrix not scaled. const std::string expected{ R"( - + 0.333333333333333 3.33333333333333 33.3333333333333 @@ -5919,7 +6317,7 @@ OCIO_ADD_TEST(CTFTransform, cdl_clf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransform)); const std::string expected{ R"( - + ProcessList description ======================= @@ -5965,7 +6363,7 @@ OCIO_ADD_TEST(CTFTransform, cdl_clf) OCIO::CachedFileRcPtr file = tester.read(ctfStream, emptyString, OCIO::INTERP_DEFAULT); auto cachedFile = OCIO::DynamicPtrCast(file); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto cdlData = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(cdlData); @@ -6084,7 +6482,7 @@ OCIO_ADD_TEST(CTFTransform, range1_clf) const std::string expected{ "\n" - "\n" + "\n" " Input descriptor\n" " Output descriptor\n" " \n" @@ -6119,7 +6517,7 @@ OCIO_ADD_TEST(CTFTransform, range2_clf) const std::string expected{ "\n" - "\n" + "\n" " \n" " 102.3 \n" " 25.5 \n" @@ -6150,7 +6548,7 @@ OCIO_ADD_TEST(CTFTransform, range3_clf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransform)); const std::string expected{ R"( - + 0 0 @@ -6185,7 +6583,7 @@ OCIO_ADD_TEST(CTFTransform, range4_clf) // Range is saved in the forward direction. const std::string expected{ R"( - + 2047.5 4095 @@ -6259,7 +6657,7 @@ OCIO_ADD_TEST(CTFTransform, gamma1_ctf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransformCLF)); const std::string expectedCLF{ R"( - + @@ -6302,7 +6700,7 @@ OCIO_ADD_TEST(CTFTransform, gamma1_mirror_ctf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransformCLF)); const std::string expectedCLF{ R"( - + @@ -6345,7 +6743,7 @@ OCIO_ADD_TEST(CTFTransform, gamma1_pass_thru_ctf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransformCLF)); const std::string expectedCLF{ R"( - + @@ -6430,7 +6828,7 @@ OCIO_ADD_TEST(CTFTransform, gamma3_ctf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransformCLF)); const std::string expectedCLF{ R"( - + @@ -7680,7 +8078,7 @@ OCIO_ADD_TEST(CTFTransform, lut1d_clf) OCIO_CHECK_NO_THROW(WriteGroupCLF(group, outputTransform)); const std::string expected{ R"( - + 0 @@ -8455,7 +8853,7 @@ OCIO_ADD_TEST(FileFormatCTF, bake_1d) const std::string expectedCLF{ R"( - + 0 @@ -8531,7 +8929,7 @@ OCIO_ADD_TEST(FileFormatCTF, bake_1d_shaper) OCIO::CachedFileRcPtr file = tester.read(outputCTF, emptyString, OCIO::INTERP_DEFAULT); auto cachedFile = OCIO::DynamicPtrCast(file); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto range = OCIO_DYNAMIC_POINTER_CAST(opList[0]); @@ -8573,7 +8971,7 @@ OCIO_ADD_TEST(FileFormatCTF, bake_1d_shaper) OCIO::CachedFileRcPtr file = tester.read(outputCTF, emptyString, OCIO::INTERP_DEFAULT); auto cachedFile = OCIO::DynamicPtrCast(file); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 1); auto lut = OCIO_DYNAMIC_POINTER_CAST(opList[0]); @@ -8625,11 +9023,12 @@ OCIO_ADD_TEST(FileFormatCTF, bake_3d) data.addChildElement(OCIO::METADATA_DESCRIPTION, "OpenColorIO Test Line 2"); data.addChildElement("Anything", "Not Saved"); - data.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "Input descriptor"); - data.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "Only first is saved"); - data.addChildElement(OCIO::METADATA_OUTPUT_DESCRIPTOR, "Output descriptor"); + data.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "Input descriptor 1"); + data.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "Input descriptor 2"); + data.addChildElement(OCIO::METADATA_OUTPUT_DESCRIPTOR, "Output descriptor 1"); + data.addChildElement(OCIO::METADATA_OUTPUT_DESCRIPTOR, "Output descriptor 2"); data.addChildElement(OCIO::METADATA_INFO, ""); - auto & info = data.getChildElement(6); + auto & info = data.getChildElement(7); info.addAttribute("attrib1", "val1"); info.addAttribute("attrib2", "val2"); info.addChildElement("anything", "is saved"); @@ -8644,11 +9043,13 @@ OCIO_ADD_TEST(FileFormatCTF, bake_3d) const std::string expectedCLF{ R"( - + OpenColorIO Test Line 1 OpenColorIO Test Line 2 - Input descriptor - Output descriptor + Input descriptor 1 + Input descriptor 2 + Output descriptor 1 + Output descriptor 2 is saved is also saved @@ -8726,7 +9127,7 @@ OCIO_ADD_TEST(FileFormatCTF, bake_1d_3d) OCIO::CachedFileRcPtr file = tester.read(output, emptyString, OCIO::INTERP_DEFAULT); auto cachedFile = OCIO::DynamicPtrCast(file); - const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOps(); + const OCIO::ConstOpDataVec & opList = cachedFile->m_transform->getOpDataVec(); OCIO_REQUIRE_EQUAL(opList.size(), 2); auto shaperLut = std::dynamic_pointer_cast(opList[0]); OCIO_REQUIRE_ASSERT(shaperLut); @@ -8776,7 +9177,7 @@ OCIO_ADD_TEST(FileFormatCTF, bake_1d_3d) const std::string expectedCLF{ R"( - + -0.125 1.125 diff --git a/tests/cpu/fileformats/ctf/CTFTransform_tests.cpp b/tests/cpu/fileformats/ctf/CTFTransform_tests.cpp index c5ec9c2e9e..f04d3155a8 100644 --- a/tests/cpu/fileformats/ctf/CTFTransform_tests.cpp +++ b/tests/cpu/fileformats/ctf/CTFTransform_tests.cpp @@ -47,58 +47,114 @@ OCIO_ADD_TEST(CTFVersion, read_version) OCIO::CTFVersion versionRead; { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1.2.3", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1.2.3")); const OCIO::CTFVersion version(1, 2, 3); OCIO_CHECK_EQUAL(version, versionRead); } { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1.2", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1.2")); const OCIO::CTFVersion version(1, 2, 0); OCIO_CHECK_EQUAL(version, versionRead); } { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1")); const OCIO::CTFVersion version(1, 0, 0); OCIO_CHECK_EQUAL(version, versionRead); } { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1.10", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1.10")); const OCIO::CTFVersion version(1, 10, 0); OCIO_CHECK_EQUAL(version, versionRead); } { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1.1.0", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1.1.0")); const OCIO::CTFVersion version(1, 1, 0); OCIO_CHECK_EQUAL(version, versionRead); } { - OCIO_CHECK_NO_THROW(OCIO::CTFVersion::ReadVersion("1.01", versionRead)); + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("1.01")); const OCIO::CTFVersion version(1, 1, 0); OCIO_CHECK_EQUAL(version, versionRead); } - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("", versionRead), + { + // Numeric format is always accepted. + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion("2.0.0", OCIO::CTFVersion::VERSION_SMPTE_CLF)); + const OCIO::CTFVersion version(2, 0, 0); + OCIO_CHECK_EQUAL(version, versionRead); + } + + { + // Short SMPTE should be accepted only when the format is allowed. + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion( + "ST2136-1:2024"), + OCIO::Exception, + "is not a valid version. Expecting MAJOR[.MINOR[.REVISION]]"); + } + + { + // Long SMPTE should be accepted only when the format is allowed. + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion( + "http://www.smpte-ra.org/ns/2136-1/2024"), + OCIO::Exception, + "is not a valid version. Expecting MAJOR[.MINOR[.REVISION]]"); + } + + { + // SMPTE version is regarded as v3.0.0. + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion( + "ST2136-1:2024", OCIO::CTFVersion::VERSION_SMPTE_CLF)); + const OCIO::CTFVersion version(3, 0, 0); + OCIO_CHECK_EQUAL(version, versionRead); + } + + { + // Short SMPTE string is not allowed when only the long format is accepted. + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion( + "ST2136-1:2024", OCIO::CTFVersion::VERSION_SMPTE_XMLNS), + OCIO::Exception, + "is not a valid version. Expecting 'http://www.smpte-ra.org/ns/2136-1/2024' or MAJOR[.MINOR[.REVISION]]"); + } + + { + // Long SMPTE should be accepted only when the format is allowed and + // should be regarded as v3.0.0. + OCIO_CHECK_NO_THROW(versionRead = OCIO::CTFVersion( + "http://www.smpte-ra.org/ns/2136-1/2024", OCIO::CTFVersion::VERSION_SMPTE_XMLNS)); + const OCIO::CTFVersion version(3, 0, 0); + OCIO_CHECK_EQUAL(version, versionRead); + } + + { + // Long SMPTE string is not allowed when only the short format is accepted. + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion( + "http://www.smpte-ra.org/ns/2136-1/2024", OCIO::CTFVersion::VERSION_SMPTE_CLF), + OCIO::Exception, + "is not a valid version. Expecting 'ST2136-1:2024' or MAJOR[.MINOR[.REVISION]]"); + } + + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion(""), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("1 2", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("1 2"), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("1-2", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("1-2"), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("a", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("a"), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("1.", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("1."), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion(".2", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion(".2"), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("1.0 2", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("1.0 2"), OCIO::Exception, "is not a valid version"); - OCIO_CHECK_THROW_WHAT(OCIO::CTFVersion::ReadVersion("-1", versionRead), + OCIO_CHECK_THROW_WHAT(versionRead = OCIO::CTFVersion("-1"), OCIO::Exception, "is not a valid version"); } @@ -141,13 +197,32 @@ OCIO_ADD_TEST(CTFVersion, version_write) ostream << version; OCIO_CHECK_EQUAL(ostream.str(), "0"); } + { + const OCIO::CTFVersion version( + "ST2136-1:2024", + OCIO::CTFVersion::VERSION_SMPTE_CLF); + std::ostringstream ostream; + ostream << version; + OCIO_CHECK_EQUAL(ostream.str(), "ST2136-1:2024"); + } + { + const OCIO::CTFVersion version( + "http://www.smpte-ra.org/ns/2136-1/2024", + OCIO::CTFVersion::VERSION_SMPTE_XMLNS); + std::ostringstream ostream; + ostream << version; + OCIO_CHECK_EQUAL(ostream.str(), "http://www.smpte-ra.org/ns/2136-1/2024"); + } + } OCIO_ADD_TEST(CTFReaderTransform, accessors) { OCIO::CTFReaderTransform t; + OCIO::FormatMetadataImpl & meta = t.getInfoMetadata(); { const OCIO::CTFReaderTransform & ct = t; + const OCIO::FormatMetadataImpl & cmeta = t.getInfoMetadata(); OCIO::FormatMetadataImpl & info = t.getInfoMetadata(); const OCIO::FormatMetadataImpl & cinfo = t.getInfoMetadata(); @@ -159,53 +234,61 @@ OCIO_ADD_TEST(CTFReaderTransform, accessors) OCIO_CHECK_EQUAL(ct.getID(), ""); OCIO_CHECK_EQUAL(t.getName(), ""); OCIO_CHECK_EQUAL(ct.getName(), ""); - OCIO_CHECK_EQUAL(t.getInverseOfId(), ""); - OCIO_CHECK_EQUAL(ct.getInverseOfId(), ""); - OCIO_CHECK_EQUAL(t.getInputDescriptor(), ""); - OCIO_CHECK_EQUAL(ct.getInputDescriptor(), ""); - OCIO_CHECK_EQUAL(t.getOutputDescriptor(), ""); - OCIO_CHECK_EQUAL(ct.getOutputDescriptor(), ""); + OCIO_CHECK_EQUAL_STR(meta.getAttributeValue("inverseOf"), ""); + OCIO_CHECK_EQUAL_STR(cmeta.getAttributeValue("inverseOf"), ""); - OCIO_CHECK_ASSERT(t.getOps().empty()); - OCIO_CHECK_ASSERT(ct.getOps().empty()); + OCIO_CHECK_ASSERT(t.getOpDataVec().empty()); + OCIO_CHECK_ASSERT(ct.getOpDataVec().empty()); - OCIO_CHECK_ASSERT(t.getDescriptions().empty()); - OCIO_CHECK_ASSERT(ct.getDescriptions().empty()); + OCIO_REQUIRE_EQUAL(meta.getNumChildrenElements(), 0); + OCIO_REQUIRE_EQUAL(cmeta.getNumChildrenElements(), 0); } t.setName("Name"); t.setID("123"); - t.setInverseOfId("654"); - t.setInputDescriptor("input"); - t.setOutputDescriptor("output"); + meta.addAttribute(OCIO::ATTR_INVERSE_OF, "654"); + meta.addChildElement(OCIO::METADATA_ID_ELEMENT, "urn:uuid:123e4567-e89b-12d3-a456-426655440000"); auto matrixOp = std::make_shared(); - t.getOps().push_back(matrixOp); + t.getOpDataVec().push_back(matrixOp); - t.getDescriptions().push_back("One"); - t.getDescriptions().push_back("Two"); + meta.addChildElement(OCIO::METADATA_DESCRIPTION, "One"); + meta.addChildElement(OCIO::METADATA_DESCRIPTION, "Two"); + meta.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "input 1"); + meta.addChildElement(OCIO::METADATA_INPUT_DESCRIPTOR, "input 2"); + meta.addChildElement(OCIO::METADATA_OUTPUT_DESCRIPTOR, "output 1"); + meta.addChildElement(OCIO::METADATA_OUTPUT_DESCRIPTOR, "output 2"); + auto & outDesc2 = meta.getChildElement(meta.getNumChildrenElements()-1); + outDesc2.addAttribute(OCIO::ATTR_LANGUAGE, "tr"); { const OCIO::CTFReaderTransform & ct = t; + const OCIO::FormatMetadataImpl & cmeta = t.getInfoMetadata(); OCIO_CHECK_EQUAL(t.getID(), "123"); OCIO_CHECK_EQUAL(ct.getID(), "123"); OCIO_CHECK_EQUAL(t.getName(), "Name"); OCIO_CHECK_EQUAL(ct.getName(), "Name"); - OCIO_CHECK_EQUAL(t.getInverseOfId(), "654"); - OCIO_CHECK_EQUAL(ct.getInverseOfId(), "654"); - OCIO_CHECK_EQUAL(t.getInputDescriptor(), "input"); - OCIO_CHECK_EQUAL(ct.getInputDescriptor(), "input"); - OCIO_CHECK_EQUAL(t.getOutputDescriptor(), "output"); - OCIO_CHECK_EQUAL(ct.getOutputDescriptor(), "output"); - - OCIO_CHECK_EQUAL(t.getOps().size(), 1); - OCIO_CHECK_EQUAL(ct.getOps().size(), 1); - - OCIO_CHECK_EQUAL(t.getDescriptions().size(), 2); - OCIO_CHECK_EQUAL(ct.getDescriptions().size(), 2); - OCIO_CHECK_EQUAL(t.getDescriptions()[0], "One"); - OCIO_CHECK_EQUAL(ct.getDescriptions()[0], "One"); - OCIO_CHECK_EQUAL(t.getDescriptions()[1], "Two"); - OCIO_CHECK_EQUAL(ct.getDescriptions()[1], "Two"); + OCIO_CHECK_EQUAL_STR(meta.getAttributeValue("inverseOf"), "654"); + OCIO_CHECK_EQUAL_STR(cmeta.getAttributeValue("inverseOf"), "654"); + + OCIO_CHECK_EQUAL(t.getOpDataVec().size(), 1); + OCIO_CHECK_EQUAL(ct.getOpDataVec().size(), 1); + + OCIO_REQUIRE_EQUAL(meta.getNumChildrenElements(), 7); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(0).getElementName(), "Id"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(0).getElementValue(), "urn:uuid:123e4567-e89b-12d3-a456-426655440000"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(1).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(1).getElementValue(), "One"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(2).getElementName(), "Description"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(2).getElementValue(), "Two"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(3).getElementName(), "InputDescriptor"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(3).getElementValue(), "input 1"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(4).getElementName(), "InputDescriptor"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(4).getElementValue(), "input 2"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(5).getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(5).getElementValue(), "output 1"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(6).getElementName(), "OutputDescriptor"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(6).getElementValue(), "output 2"); + OCIO_CHECK_EQUAL_STR(meta.getChildElement(6).getAttributeValue("language"), "tr"); } } diff --git a/tests/cpu/ops/reference/ReferenceOpData_tests.cpp b/tests/cpu/ops/reference/ReferenceOpData_tests.cpp index 100650d7c2..96f8402bbc 100644 --- a/tests/cpu/ops/reference/ReferenceOpData_tests.cpp +++ b/tests/cpu/ops/reference/ReferenceOpData_tests.cpp @@ -233,7 +233,7 @@ OCIO_ADD_TEST(Reference, load_nested_resolve_internal) op = ops[2]; OCIO_REQUIRE_ASSERT(op); OCIO_REQUIRE_ASSERT(GetFilePath(path, op)); - OCIO_CHECK_NE(path.find("matrix_example.clf"), std::string::npos); + OCIO_CHECK_NE(path.find("matrix_example_utf8.clf"), std::string::npos); op = ops[3]; OCIO_REQUIRE_ASSERT(op); diff --git a/tests/cpu/transforms/FileTransform_tests.cpp b/tests/cpu/transforms/FileTransform_tests.cpp index 9b78b9c50f..101358f29a 100644 --- a/tests/cpu/transforms/FileTransform_tests.cpp +++ b/tests/cpu/transforms/FileTransform_tests.cpp @@ -80,7 +80,7 @@ OCIO_ADD_TEST(FileTransform, load_file_ok) OCIO_CHECK_ASSERT(!proc->isNoOp()); // Academy/ASC common LUT format. - const std::string clfMatTransform("clf/matrix_example.clf"); + const std::string clfMatTransform("clf/pre-smpte_only/matrix_example.clf"); OCIO_CHECK_NO_THROW(proc = OCIO::GetFileTransformProcessor(clfMatTransform)); OCIO_CHECK_ASSERT(!proc->isNoOp()); diff --git a/tests/data/files/clf/aces_to_video_with_look.clf b/tests/data/files/clf/aces_to_video_with_look.clf index 4478c03f70..e2c428403e 100644 --- a/tests/data/files/clf/aces_to_video_with_look.clf +++ b/tests/data/files/clf/aces_to_video_with_look.clf @@ -1,5 +1,5 @@ - + Converts ACES to ACEScct, applies ASC CDL, then applies a 3D-LUT to convert back to ACES and apply the RRT+ODT.Academy.Rec709_100nits_dim ACES2065-1 HD (Rec 709) video diff --git a/tests/data/files/clf/bit_depth_identity.clf b/tests/data/files/clf/bit_depth_identity.clf new file mode 100644 index 0000000000..0ee6d7bb7a --- /dev/null +++ b/tests/data/files/clf/bit_depth_identity.clf @@ -0,0 +1,25 @@ + + + urn:uuid:9d768121-0cf9-40a3-a8e3-7b49f79858a7 + Identity transform illustrating Array bit depth scaling + Can be loaded by either SMPTE or CLF v3 parsers + + + 257.0 0.0 0.0 + 0.0 257.0 0.0 + 0.0 0.0 257.0 + + + + + 0.0 10922.5 21845.0 32767.5 43690.0 54612.5 65535.0 + + + + + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + + + diff --git a/tests/data/files/clf/cdl_all_styles.clf b/tests/data/files/clf/cdl_all_styles.clf index 53e1f428bb..75fb4d9d80 100644 --- a/tests/data/files/clf/cdl_all_styles.clf +++ b/tests/data/files/clf/cdl_all_styles.clf @@ -1,5 +1,5 @@ - + Test all CDL style values diff --git a/tests/data/files/clf/cdl_clamp_fwd.clf b/tests/data/files/clf/cdl_clamp_fwd.clf index 3a298fa13e..633d84346e 100644 --- a/tests/data/files/clf/cdl_clamp_fwd.clf +++ b/tests/data/files/clf/cdl_clamp_fwd.clf @@ -1,5 +1,5 @@ - + Example of ASC CDL operation inputDesc outputDesc diff --git a/tests/data/files/clf/cdl_missing_sat.clf b/tests/data/files/clf/cdl_missing_sat.clf index 40fa7f8851..f44958c6be 100644 --- a/tests/data/files/clf/cdl_missing_sat.clf +++ b/tests/data/files/clf/cdl_missing_sat.clf @@ -1,5 +1,5 @@ - + Missing Sat defaults to 1 ASC CDL operation diff --git a/tests/data/files/clf/cdl_missing_sop.clf b/tests/data/files/clf/cdl_missing_sop.clf index 99ab40eb4c..3a35b2f1ca 100644 --- a/tests/data/files/clf/cdl_missing_sop.clf +++ b/tests/data/files/clf/cdl_missing_sop.clf @@ -1,5 +1,5 @@ - + Missing SOP defaults to identity params inputDesc outputDesc diff --git a/tests/data/files/clf/cdl_missing_style.clf b/tests/data/files/clf/cdl_missing_style.clf index 2c407b929d..a4b76ef97f 100644 --- a/tests/data/files/clf/cdl_missing_style.clf +++ b/tests/data/files/clf/cdl_missing_style.clf @@ -1,5 +1,5 @@ - + Missing style defaults to "Fwd" diff --git a/tests/data/files/clf/difficult_syntax.clf b/tests/data/files/clf/difficult_syntax.clf index 4a48375b9f..9e16a0170b 100644 --- a/tests/data/files/clf/difficult_syntax.clf +++ b/tests/data/files/clf/difficult_syntax.clf @@ -5,7 +5,11 @@ - + + + This is the ProcessList description. + yet 'another' "valid" desc + This is a "difficult" but 'legal' color transform file. @@ -20,7 +24,7 @@ third array dim value is ignored - + 3.24000 -1.53700 -0.49850 -0.96930 1.87600 +0.04156 0.05560 -0.20400 0.105730e+1 @@ -29,12 +33,19 @@ third array dim value is ignored - This is the ProcessList description. - + name' unknown="attr"> the n–dash description + + another valid +description +element + + + + & another <valid> desc + @@ -168,16 +179,8 @@ only tabs used to separate next few triplets 1.00000 0.95000 0.90000 - another valid -description -element - - - - & another <valid> desc - yet 'another' "valid" desc diff --git a/tests/data/files/clf/exponent_all_styles.clf b/tests/data/files/clf/exponent_all_styles.clf index 157df5e411..a7a3392ca2 100644 --- a/tests/data/files/clf/exponent_all_styles.clf +++ b/tests/data/files/clf/exponent_all_styles.clf @@ -1,5 +1,5 @@ - + Test all Exponent style values If there is only one Params, use it for R, G, and B. diff --git a/tests/data/files/clf/illegal/array_bad_dimension.clf b/tests/data/files/clf/illegal/array_bad_dimension.clf index 918b1720c4..03305c37cf 100644 --- a/tests/data/files/clf/illegal/array_bad_dimension.clf +++ b/tests/data/files/clf/illegal/array_bad_dimension.clf @@ -1,5 +1,5 @@ - + Array dim attribute is not legal. diff --git a/tests/data/files/clf/illegal/array_bad_value.clf b/tests/data/files/clf/illegal/array_bad_value.clf index 28f607b9d2..7cfab661de 100644 --- a/tests/data/files/clf/illegal/array_bad_value.clf +++ b/tests/data/files/clf/illegal/array_bad_value.clf @@ -1,5 +1,5 @@ - + Array has a non-numeric character diff --git a/tests/data/files/clf/illegal/array_missing_values.clf b/tests/data/files/clf/illegal/array_missing_values.clf index fafd66361e..20d0e1b110 100644 --- a/tests/data/files/clf/illegal/array_missing_values.clf +++ b/tests/data/files/clf/illegal/array_missing_values.clf @@ -1,5 +1,5 @@ - + Matrix has too few values. diff --git a/tests/data/files/clf/illegal/array_too_many_values.clf b/tests/data/files/clf/illegal/array_too_many_values.clf index 49957befdc..972c2d0ca8 100644 --- a/tests/data/files/clf/illegal/array_too_many_values.clf +++ b/tests/data/files/clf/illegal/array_too_many_values.clf @@ -1,5 +1,5 @@ - + Matrix has too many values. diff --git a/tests/data/files/clf/illegal/cdl_bad_power.clf b/tests/data/files/clf/illegal/cdl_bad_power.clf index e39c8a611f..fc4715c16c 100644 --- a/tests/data/files/clf/illegal/cdl_bad_power.clf +++ b/tests/data/files/clf/illegal/cdl_bad_power.clf @@ -1,5 +1,5 @@ - + CDL power must be > 0 diff --git a/tests/data/files/clf/illegal/cdl_bad_sat.clf b/tests/data/files/clf/illegal/cdl_bad_sat.clf index bca68a6813..06a5ea1453 100644 --- a/tests/data/files/clf/illegal/cdl_bad_sat.clf +++ b/tests/data/files/clf/illegal/cdl_bad_sat.clf @@ -1,5 +1,5 @@ - + Sat may only have 1 value. diff --git a/tests/data/files/clf/illegal/cdl_bad_slope.clf b/tests/data/files/clf/illegal/cdl_bad_slope.clf index b267e9cf45..582299ec32 100644 --- a/tests/data/files/clf/illegal/cdl_bad_slope.clf +++ b/tests/data/files/clf/illegal/cdl_bad_slope.clf @@ -1,5 +1,5 @@ - + Slope must have 3 values. diff --git a/tests/data/files/clf/illegal/cdl_bad_style.clf b/tests/data/files/clf/illegal/cdl_bad_style.clf index 40dc6420b9..6d62bc44ee 100644 --- a/tests/data/files/clf/illegal/cdl_bad_style.clf +++ b/tests/data/files/clf/illegal/cdl_bad_style.clf @@ -1,5 +1,5 @@ - + CDL style is not a legal value diff --git a/tests/data/files/clf/illegal/cdl_missing_offset.clf b/tests/data/files/clf/illegal/cdl_missing_offset.clf index 0ee0dbf2f8..3a4024cd69 100644 --- a/tests/data/files/clf/illegal/cdl_missing_offset.clf +++ b/tests/data/files/clf/illegal/cdl_missing_offset.clf @@ -1,5 +1,5 @@ - + The SOPNode is optional, but if present, must contain Slope, Offset, and Power diff --git a/tests/data/files/clf/illegal/cdl_missing_power.clf b/tests/data/files/clf/illegal/cdl_missing_power.clf index a759f90576..ca3f66cad7 100644 --- a/tests/data/files/clf/illegal/cdl_missing_power.clf +++ b/tests/data/files/clf/illegal/cdl_missing_power.clf @@ -1,5 +1,5 @@ - + The SOPNode is optional, but if present, must contain Slope, Offset, and Power diff --git a/tests/data/files/clf/illegal/cdl_missing_slope.clf b/tests/data/files/clf/illegal/cdl_missing_slope.clf index efd3e9d274..ded6bf15a5 100644 --- a/tests/data/files/clf/illegal/cdl_missing_slope.clf +++ b/tests/data/files/clf/illegal/cdl_missing_slope.clf @@ -1,5 +1,5 @@ - + The SOPNode is optional, but if present, must contain Slope, Offset, and Power diff --git a/tests/data/files/clf/illegal/exponent_bad_param.clf b/tests/data/files/clf/illegal/exponent_bad_param.clf index 5e3094f70c..8d48ba2683 100644 --- a/tests/data/files/clf/illegal/exponent_bad_param.clf +++ b/tests/data/files/clf/illegal/exponent_bad_param.clf @@ -1,5 +1,5 @@ - + The basic styles may not use the offset param diff --git a/tests/data/files/clf/illegal/exponent_bad_value.clf b/tests/data/files/clf/illegal/exponent_bad_value.clf index 2a358d5313..2d4e8ec295 100644 --- a/tests/data/files/clf/illegal/exponent_bad_value.clf +++ b/tests/data/files/clf/illegal/exponent_bad_value.clf @@ -1,5 +1,5 @@ - + The moncurve style requires an exponent >= 1. diff --git a/tests/data/files/clf/illegal/indexMap_test2.clf b/tests/data/files/clf/illegal/indexMap_test2.clf index 498ac6454e..d0b2a10b0f 100644 --- a/tests/data/files/clf/illegal/indexMap_test2.clf +++ b/tests/data/files/clf/illegal/indexMap_test2.clf @@ -1,5 +1,5 @@ - + Index map was only allowed up to CLF v2 diff --git a/tests/data/files/clf/illegal/log_bad_param.clf b/tests/data/files/clf/illegal/log_bad_param.clf index db03820476..880fa5c723 100644 --- a/tests/data/files/clf/illegal/log_bad_param.clf +++ b/tests/data/files/clf/illegal/log_bad_param.clf @@ -1,5 +1,5 @@ - + The linToLog style may not contain the linSideBreak param. diff --git a/tests/data/files/clf/illegal/log_bad_style.clf b/tests/data/files/clf/illegal/log_bad_style.clf index dbc1ac9319..0e1b491b4d 100644 --- a/tests/data/files/clf/illegal/log_bad_style.clf +++ b/tests/data/files/clf/illegal/log_bad_style.clf @@ -1,5 +1,5 @@ - + Illegal log style value. diff --git a/tests/data/files/clf/illegal/log_missing_breakpnt.clf b/tests/data/files/clf/illegal/log_missing_breakpnt.clf index 4282f23df7..1d5e478556 100644 --- a/tests/data/files/clf/illegal/log_missing_breakpnt.clf +++ b/tests/data/files/clf/illegal/log_missing_breakpnt.clf @@ -1,5 +1,5 @@ - + The camera styles must have the linSideBreak param. - + Half-domain must have 65536 values. RGB RGB diff --git a/tests/data/files/clf/illegal/lut1d_half_domain_set_false.clf b/tests/data/files/clf/illegal/lut1d_half_domain_set_false.clf index fca07d882f..d9e650d90f 100644 --- a/tests/data/files/clf/illegal/lut1d_half_domain_set_false.clf +++ b/tests/data/files/clf/illegal/lut1d_half_domain_set_false.clf @@ -1,5 +1,5 @@ - + The only legal value for halfDomain is "true". RGB RGB diff --git a/tests/data/files/clf/illegal/lut1d_raw_half_set_false.clf b/tests/data/files/clf/illegal/lut1d_raw_half_set_false.clf index 94daa1e6f9..3ea1d67594 100644 --- a/tests/data/files/clf/illegal/lut1d_raw_half_set_false.clf +++ b/tests/data/files/clf/illegal/lut1d_raw_half_set_false.clf @@ -1,5 +1,5 @@ - + The only legal value for rawHhalfs is "true". RGB RGB diff --git a/tests/data/files/clf/illegal/lut3d_unequal_size.clf b/tests/data/files/clf/illegal/lut3d_unequal_size.clf index 1be11cfab9..3c4c11361e 100644 --- a/tests/data/files/clf/illegal/lut3d_unequal_size.clf +++ b/tests/data/files/clf/illegal/lut3d_unequal_size.clf @@ -1,5 +1,5 @@ - + Lut3d must have equal grid dimensions diff --git a/tests/data/files/clf/illegal/matrix_end_missing.clf b/tests/data/files/clf/illegal/matrix_end_missing.clf index b00cddd8cd..1c19332dc0 100644 --- a/tests/data/files/clf/illegal/matrix_end_missing.clf +++ b/tests/data/files/clf/illegal/matrix_end_missing.clf @@ -1,5 +1,5 @@ - + The Matrix element is not complete. diff --git a/tests/data/files/clf/illegal/process_list_missing.clf b/tests/data/files/clf/illegal/process_list_missing.clf index 0dbe66c238..10e25f4e93 100644 --- a/tests/data/files/clf/illegal/process_list_missing.clf +++ b/tests/data/files/clf/illegal/process_list_missing.clf @@ -1,4 +1,4 @@ - + Missing ProcesssList element 3.24000 -1.53700 -0.49850 diff --git a/tests/data/files/clf/illegal/range_bad_noclamp.clf b/tests/data/files/clf/illegal/range_bad_noclamp.clf index 3751a6bfb6..977f996977 100644 --- a/tests/data/files/clf/illegal/range_bad_noclamp.clf +++ b/tests/data/files/clf/illegal/range_bad_noclamp.clf @@ -1,8 +1,8 @@ - + The noClamp style may not be used when there are only two values. - 0.1 1e-1 + 0.1 diff --git a/tests/data/files/clf/illegal/range_bad_values.clf b/tests/data/files/clf/illegal/range_bad_values.clf index 8987272907..6a2416dc87 100644 --- a/tests/data/files/clf/illegal/range_bad_values.clf +++ b/tests/data/files/clf/illegal/range_bad_values.clf @@ -1,5 +1,5 @@ - + Illegal values -- the minInValue must be less than the maxInValue. 240 diff --git a/tests/data/files/clf/illegal/range_empty.clf b/tests/data/files/clf/illegal/range_empty.clf index f4bb850cfa..904436b8a2 100644 --- a/tests/data/files/clf/illegal/range_empty.clf +++ b/tests/data/files/clf/illegal/range_empty.clf @@ -1,5 +1,5 @@ - + Starting in CLF v3, a Range may not be empty diff --git a/tests/data/files/clf/illegal/range_nonmatching_clamp.clf b/tests/data/files/clf/illegal/range_nonmatching_clamp.clf index b8fee78a67..5c2a9b3c8a 100644 --- a/tests/data/files/clf/illegal/range_nonmatching_clamp.clf +++ b/tests/data/files/clf/illegal/range_nonmatching_clamp.clf @@ -1,5 +1,5 @@ - + If there is only a min or only a max, the InValue must equal OutValue. Since the bit-depths are different, they are not actually the same here. diff --git a/tests/data/files/clf/illegal/transform_bad_outdepth.clf b/tests/data/files/clf/illegal/transform_bad_outdepth.clf index 8d65b6db95..27ec7b4337 100644 --- a/tests/data/files/clf/illegal/transform_bad_outdepth.clf +++ b/tests/data/files/clf/illegal/transform_bad_outdepth.clf @@ -1,5 +1,5 @@ - + The outBitDepth is illegal diff --git a/tests/data/files/clf/illegal/transform_bitdepth_mismatch.clf b/tests/data/files/clf/illegal/transform_bitdepth_mismatch.clf index 1153df6a4e..ca5892b92c 100644 --- a/tests/data/files/clf/illegal/transform_bitdepth_mismatch.clf +++ b/tests/data/files/clf/illegal/transform_bitdepth_mismatch.clf @@ -1,14 +1,14 @@ - + All bit-depths in a file must match at adjacent ops - + 3.24000 -1.53700 -0.49850 -0.96930 1.87600 0.04156 0.05560 -0.20400 1.05730 - Note in-depth does not == out-depth of previous + Note in-depth does not == out-depth of previous 0.00000 0.00000 1e-2 0.28358 0.28358 1e+2 diff --git a/tests/data/files/clf/illegal/transform_corrupted_tag.clf b/tests/data/files/clf/illegal/transform_corrupted_tag.clf index 1f82247b18..11d606530f 100644 --- a/tests/data/files/clf/illegal/transform_corrupted_tag.clf +++ b/tests/data/files/clf/illegal/transform_corrupted_tag.clf @@ -1,6 +1,7 @@ - + Note closing element is bad + ProcessList is not spelled correctly 3.24000 -1.53700 -0.49850 @@ -8,5 +9,4 @@ 0.05560 -0.20400 1.05730 - ProcessList is not spelled correctly diff --git a/tests/data/files/clf/illegal/transform_element_end_missing.clf b/tests/data/files/clf/illegal/transform_element_end_missing.clf index 136c8453cb..c7464ce1cc 100644 --- a/tests/data/files/clf/illegal/transform_element_end_missing.clf +++ b/tests/data/files/clf/illegal/transform_element_end_missing.clf @@ -1,6 +1,7 @@ - + ProcessList must have an end tag + Note closing element is missing 3.24000 -1.53700 -0.49850 @@ -8,4 +9,3 @@ 0.05560 -0.20400 1.05730 - Note closing element is missing diff --git a/tests/data/files/clf/illegal/transform_empty.clf b/tests/data/files/clf/illegal/transform_empty.clf index b07de5aa5b..2d12809949 100644 --- a/tests/data/files/clf/illegal/transform_empty.clf +++ b/tests/data/files/clf/illegal/transform_empty.clf @@ -1,4 +1,4 @@ - - There must be at least on process node + + There must be at least one process node diff --git a/tests/data/files/clf/illegal/transform_id_empty.clf b/tests/data/files/clf/illegal/transform_id_empty.clf deleted file mode 100644 index bda57d36ef..0000000000 --- a/tests/data/files/clf/illegal/transform_id_empty.clf +++ /dev/null @@ -1,5 +0,0 @@ - - - The id string must not be empty - - diff --git a/tests/data/files/clf/illegal/transform_missing_id.clf b/tests/data/files/clf/illegal/transform_missing_id.clf deleted file mode 100644 index a72ed5577b..0000000000 --- a/tests/data/files/clf/illegal/transform_missing_id.clf +++ /dev/null @@ -1,5 +0,0 @@ - - - The ProcessList id attribute is missing - - diff --git a/tests/data/files/clf/illegal/transform_missing_inbitdepth.clf b/tests/data/files/clf/illegal/transform_missing_inbitdepth.clf index 011ff246d7..94fa26d73c 100644 --- a/tests/data/files/clf/illegal/transform_missing_inbitdepth.clf +++ b/tests/data/files/clf/illegal/transform_missing_inbitdepth.clf @@ -1,5 +1,5 @@ - + The inBitDepth is missing diff --git a/tests/data/files/clf/illegal/transform_missing_outbitdepth.clf b/tests/data/files/clf/illegal/transform_missing_outbitdepth.clf index 26d7cd176d..fdc4dfd7ba 100644 --- a/tests/data/files/clf/illegal/transform_missing_outbitdepth.clf +++ b/tests/data/files/clf/illegal/transform_missing_outbitdepth.clf @@ -1,5 +1,5 @@ - + The outBitDepth is missing diff --git a/tests/data/files/clf/illegal/unknown_elements.clf b/tests/data/files/clf/illegal/unknown_elements.clf index adc9dd3886..000826cfad 100644 --- a/tests/data/files/clf/illegal/unknown_elements.clf +++ b/tests/data/files/clf/illegal/unknown_elements.clf @@ -1,10 +1,10 @@ - + This example contains unknown elements See section 5.4 of the spec: Unrecognized elements that are not children of the Info element should either raise an error or at least provide a warning message - + 3.24000 -1.53700 -0.49850 -0.96930 1.87600 0.04156 0.05560 -0.20400 1.05730 diff --git a/tests/data/files/clf/info_example.clf b/tests/data/files/clf/info_example.clf index c4cf5b602c..f521f15bef 100644 --- a/tests/data/files/clf/info_example.clf +++ b/tests/data/files/clf/info_example.clf @@ -1,9 +1,9 @@ - + Example of using the Info element + A second description input desc output desc - A second description diff --git a/tests/data/files/clf/inverseOf_id_test.clf b/tests/data/files/clf/inverseOf_id_test.clf index 31752d8aaa..dd27a8828b 100644 --- a/tests/data/files/clf/inverseOf_id_test.clf +++ b/tests/data/files/clf/inverseOf_id_test.clf @@ -1,5 +1,5 @@ - + The inverseOf attribute is used to identify inverse pairs RGB RGB diff --git a/tests/data/files/clf/log_all_styles.clf b/tests/data/files/clf/log_all_styles.clf index df9f7eb44d..ca80d2c3bd 100644 --- a/tests/data/files/clf/log_all_styles.clf +++ b/tests/data/files/clf/log_all_styles.clf @@ -1,5 +1,5 @@ - + Test all Logarithmic style values diff --git a/tests/data/files/clf/lut1d_32f_example.clf b/tests/data/files/clf/lut1d_32f_example.clf index c8c97728ce..bffd267de2 100644 --- a/tests/data/files/clf/lut1d_32f_example.clf +++ b/tests/data/files/clf/lut1d_32f_example.clf @@ -1,5 +1,5 @@ - + Basic Lut1D example, formula: 1.25 - 1.5 * x^2.2 1D LUT diff --git a/tests/data/files/clf/lut1d_comp.clf b/tests/data/files/clf/lut1d_comp.clf index 41fc81de11..91d31f516e 100644 --- a/tests/data/files/clf/lut1d_comp.clf +++ b/tests/data/files/clf/lut1d_comp.clf @@ -1,5 +1,5 @@ - + Two Lut1D ops Linear spacing between 64 and 196 diff --git a/tests/data/files/clf/lut1d_example.clf b/tests/data/files/clf/lut1d_example.clf index ebd7677407..a6e54f9c27 100644 --- a/tests/data/files/clf/lut1d_example.clf +++ b/tests/data/files/clf/lut1d_example.clf @@ -1,5 +1,5 @@ - + 1D LUT with legal out of range values Note that the bit-depth does not constrain the legal range of values. diff --git a/tests/data/files/clf/lut1d_half_domain_raw_half_set.clf b/tests/data/files/clf/lut1d_half_domain_raw_half_set.clf index f6a35d0189..288eaa61fd 100644 --- a/tests/data/files/clf/lut1d_half_domain_raw_half_set.clf +++ b/tests/data/files/clf/lut1d_half_domain_raw_half_set.clf @@ -1,10 +1,10 @@ - + + Lut1D testing half-domain layout and raw-halfs value encoding + Function is sign(x)*(abs(x)^0.45) - 0.1 None - Lut1D testing half-domain layout and raw-halfs value encoding - Function is sign(x)*(abs(x)^0.45) - 0.1 44646 diff --git a/tests/data/files/clf/lut1d_long.clf b/tests/data/files/clf/lut1d_long.clf index f0c5f7ee21..3f5bcf254f 100644 --- a/tests/data/files/clf/lut1d_long.clf +++ b/tests/data/files/clf/lut1d_long.clf @@ -1,5 +1,5 @@ - + Very long Lut1D test (x^2.2 * 1.3 - 0.007) Also demonstrates repeating quantized values diff --git a/tests/data/files/clf/lut1d_lut3d_lut1d.clf b/tests/data/files/clf/lut1d_lut3d_lut1d.clf index 43d014dd8f..34bdc0a1de 100644 --- a/tests/data/files/clf/lut1d_lut3d_lut1d.clf +++ b/tests/data/files/clf/lut1d_lut3d_lut1d.clf @@ -1,5 +1,5 @@ - + Lut1D + Lut3D + long Lut1D Tests usage of 1D, 3D, and 2D GPU textures diff --git a/tests/data/files/clf/lut3d_17x17x17_10i_12i.clf b/tests/data/files/clf/lut3d_17x17x17_10i_12i.clf index 3a94ab78fe..bdb8c39fb4 100644 --- a/tests/data/files/clf/lut3d_17x17x17_10i_12i.clf +++ b/tests/data/files/clf/lut3d_17x17x17_10i_12i.clf @@ -1,5 +1,5 @@ - + Basic 3d-LUT example. diff --git a/tests/data/files/clf/lut3d_as_matrix.clf b/tests/data/files/clf/lut3d_as_matrix.clf index f772f72168..967070e225 100644 --- a/tests/data/files/clf/lut3d_as_matrix.clf +++ b/tests/data/files/clf/lut3d_as_matrix.clf @@ -1,5 +1,5 @@ - + This Lut3D is equivalent (on its limited domain) to a matrix multiply from linear ap0 to linear rec 709 ap0 rec 709 diff --git a/tests/data/files/clf/lut3d_bizarre.clf b/tests/data/files/clf/lut3d_bizarre.clf index ef6fc8b045..80de3e54ff 100644 --- a/tests/data/files/clf/lut3d_bizarre.clf +++ b/tests/data/files/clf/lut3d_bizarre.clf @@ -1,5 +1,5 @@ - + Unusual 3d-LUT useful for showing interpolation errors 3d-LUT with extended range values diff --git a/tests/data/files/clf/lut3d_identity_12i_16f.clf b/tests/data/files/clf/lut3d_identity_12i_16f.clf index 463f31dcbd..972fb9775a 100644 --- a/tests/data/files/clf/lut3d_identity_12i_16f.clf +++ b/tests/data/files/clf/lut3d_identity_12i_16f.clf @@ -1,5 +1,5 @@ - + 3D LUT example 3D LUT diff --git a/tests/data/files/clf/lut3d_preview_tier_test.clf b/tests/data/files/clf/lut3d_preview_tier_test.clf index eae5b78a26..2bf09754c4 100644 --- a/tests/data/files/clf/lut3d_preview_tier_test.clf +++ b/tests/data/files/clf/lut3d_preview_tier_test.clf @@ -1,5 +1,5 @@ - + Test LUT for Preview-tier CLF validation test suite ACEScct Rec.1886 / Rec.709 video diff --git a/tests/data/files/clf/matrix_3x4_example.clf b/tests/data/files/clf/matrix_3x4_example.clf index a5f0722a13..1d011f90cc 100644 --- a/tests/data/files/clf/matrix_3x4_example.clf +++ b/tests/data/files/clf/matrix_3x4_example.clf @@ -1,5 +1,5 @@ - + Matrix example Used by unit tests diff --git a/tests/data/files/clf/matrix_example_utf8.clf b/tests/data/files/clf/matrix_example_utf8.clf index 2b5d8348a8..a921d2db23 100644 --- a/tests/data/files/clf/matrix_example_utf8.clf +++ b/tests/data/files/clf/matrix_example_utf8.clf @@ -1,5 +1,5 @@ - + Test utf8 character encoding support. 標準萬國碼 diff --git a/tests/data/files/clf/matrix_no_newlines.clf b/tests/data/files/clf/matrix_no_newlines.clf index 7ed434bee5..f7adde687c 100644 --- a/tests/data/files/clf/matrix_no_newlines.clf +++ b/tests/data/files/clf/matrix_no_newlines.clf @@ -1 +1 @@ -Example with minimal newlinesArray values separated only by tabs3.6 0.1 -0.2 0.3 0.2 3.5 +0.1 -0.05 1E-01 -0.3 0.34e+01 -4e-1 \ No newline at end of file +Example with minimal newlinesArray values separated only by tabs3.6 0.1 -0.2 0.3 0.2 3.5 +0.1 -0.05 1E-01 -0.3 0.34e+01 -4e-1 \ No newline at end of file diff --git a/tests/data/files/clf/matrix_windows.clf b/tests/data/files/clf/matrix_windows.clf index 7e7241610c..5a80b60e6a 100644 --- a/tests/data/files/clf/matrix_windows.clf +++ b/tests/data/files/clf/matrix_windows.clf @@ -1,4 +1,4 @@ - + This file has Windows line-endings. Also, the file does not start with a ?xml header. @@ -8,4 +8,4 @@ 0 0 4095 - \ No newline at end of file + diff --git a/tests/data/files/clf/multiple_ops.clf b/tests/data/files/clf/multiple_ops.clf index 5e0973790d..5ad43d7d01 100644 --- a/tests/data/files/clf/multiple_ops.clf +++ b/tests/data/files/clf/multiple_ops.clf @@ -1,5 +1,5 @@ - + Test with lots of different process nodes scene 1 exterior look diff --git a/tests/data/files/clf/illegal/log_bad_version.clf b/tests/data/files/clf/pre-smpte_only/illegal/log_bad_version.clf similarity index 80% rename from tests/data/files/clf/illegal/log_bad_version.clf rename to tests/data/files/clf/pre-smpte_only/illegal/log_bad_version.clf index 6aea455cd7..d0ad478c1a 100644 --- a/tests/data/files/clf/illegal/log_bad_version.clf +++ b/tests/data/files/clf/pre-smpte_only/illegal/log_bad_version.clf @@ -1,5 +1,5 @@ - + Version is too low to support Log. inputDesc outputDesc diff --git a/tests/data/files/clf/illegal/process_list_bad_version.clf b/tests/data/files/clf/pre-smpte_only/illegal/process_list_bad_version.clf similarity index 82% rename from tests/data/files/clf/illegal/process_list_bad_version.clf rename to tests/data/files/clf/pre-smpte_only/illegal/process_list_bad_version.clf index 11408a1c28..19aca3cd7c 100644 --- a/tests/data/files/clf/illegal/process_list_bad_version.clf +++ b/tests/data/files/clf/pre-smpte_only/illegal/process_list_bad_version.clf @@ -1,6 +1,6 @@ - Not a legal compCLFversion string + Does not contain a legal compCLFversion string. 3.24000 -1.53700 -0.49850 diff --git a/tests/data/files/clf/illegal/process_list_higher_version.clf b/tests/data/files/clf/pre-smpte_only/illegal/process_list_higher_version.clf similarity index 80% rename from tests/data/files/clf/illegal/process_list_higher_version.clf rename to tests/data/files/clf/pre-smpte_only/illegal/process_list_higher_version.clf index 8e1d97bff0..87c398fedb 100644 --- a/tests/data/files/clf/illegal/process_list_higher_version.clf +++ b/tests/data/files/clf/pre-smpte_only/illegal/process_list_higher_version.clf @@ -1,6 +1,6 @@ - Versions higher than current version must be rejected + Versions higher than the supported version must be rejected. 3.24000 -1.53700 -0.49850 diff --git a/tests/data/files/clf/pre-smpte_only/illegal/transform_id_empty.clf b/tests/data/files/clf/pre-smpte_only/illegal/transform_id_empty.clf new file mode 100644 index 0000000000..a3d6e465a3 --- /dev/null +++ b/tests/data/files/clf/pre-smpte_only/illegal/transform_id_empty.clf @@ -0,0 +1,5 @@ + + + The id string must not be empty in v3. + + diff --git a/tests/data/files/clf/pre-smpte_only/illegal/transform_missing_id.clf b/tests/data/files/clf/pre-smpte_only/illegal/transform_missing_id.clf new file mode 100644 index 0000000000..fdf1735321 --- /dev/null +++ b/tests/data/files/clf/pre-smpte_only/illegal/transform_missing_id.clf @@ -0,0 +1,5 @@ + + + The ProcessList id attribute may not be missing in v3. + + diff --git a/tests/data/files/clf/matrix_example.clf b/tests/data/files/clf/pre-smpte_only/matrix_example.clf similarity index 83% rename from tests/data/files/clf/matrix_example.clf rename to tests/data/files/clf/pre-smpte_only/matrix_example.clf index 7d2c833463..04041bdd15 100644 --- a/tests/data/files/clf/matrix_example.clf +++ b/tests/data/files/clf/pre-smpte_only/matrix_example.clf @@ -1,5 +1,5 @@ - + Basic matrix example using CLF v2 dim syntax RGB XYZ diff --git a/tests/data/files/clf/pre-smpte_only/process_list_v3_namespace.clf b/tests/data/files/clf/pre-smpte_only/process_list_v3_namespace.clf new file mode 100644 index 0000000000..086bfc86d6 --- /dev/null +++ b/tests/data/files/clf/pre-smpte_only/process_list_v3_namespace.clf @@ -0,0 +1,11 @@ + + + Uses the v3 namespace. + + + 3.24000 -1.53700 -0.49850 +-0.96930 1.87600 0.04156 + 0.05560 -0.20400 1.05730 + + + diff --git a/tests/data/files/clf/range.clf b/tests/data/files/clf/range.clf index 88c38cdedc..467787dc46 100644 --- a/tests/data/files/clf/range.clf +++ b/tests/data/files/clf/range.clf @@ -1,5 +1,5 @@ - + Basic range example with no style attribute RGB RGB diff --git a/tests/data/files/clf/range_test1_clamp.clf b/tests/data/files/clf/range_test1_clamp.clf index f7e436dee0..ec5f9edbd7 100644 --- a/tests/data/files/clf/range_test1_clamp.clf +++ b/tests/data/files/clf/range_test1_clamp.clf @@ -1,5 +1,5 @@ - + Basic range example 16 diff --git a/tests/data/files/clf/range_test1_noclamp.clf b/tests/data/files/clf/range_test1_noclamp.clf index f5872bd5b3..3e79f25eac 100644 --- a/tests/data/files/clf/range_test1_noclamp.clf +++ b/tests/data/files/clf/range_test1_noclamp.clf @@ -1,5 +1,5 @@ - + Basic range with noClamp style Note that the 8i bit-depth does not constrain the legal range of values diff --git a/tests/data/files/clf/range_test2.clf b/tests/data/files/clf/range_test2.clf index 7ae54b15c9..6a46eb075a 100644 --- a/tests/data/files/clf/range_test2.clf +++ b/tests/data/files/clf/range_test2.clf @@ -1,10 +1,10 @@ - + Range that clamps on the low side - 0.1 1e-1 + 0.1 diff --git a/tests/data/files/clf/smpte_only/broadcast_profile_lut33.clf b/tests/data/files/clf/smpte_only/broadcast_profile_lut33.clf new file mode 100644 index 0000000000..266a53e44b --- /dev/null +++ b/tests/data/files/clf/smpte_only/broadcast_profile_lut33.clf @@ -0,0 +1,35996 @@ + + + + urn:uuid:a8f91bfa-b79f-5d4d-b750-a411c476bb47 + + Demo Advanced LUT with dummy values + Démonstration d'une LUT avancée avec des valeurs factices + Demo Erweiterte LUT mit Dummy-Werten + + ITU-R BT.709 + + Same as Input + Identique à l'entrée + Gleiches wie Eingabe + + + http://www.smpte-ra.org/ns/2136-10/2026#Live_Broadcast_LUT33 + SMPTE_2136-10_Example + OCIO contributors + 1.0 + + ColorPrimaries_ITU709 + TransferCharacteristic_ITU709 + CodingEquations_ITU709 + + + ColorPrimaries_ITU2020 + TransferCharacteristic_SMPTEST2084 + CodingEquations_ITU2100_ICtCp + + sdiClip + Test, Display-light + fake-email@ocio.org + + + + Input Scaling - only used for full-range signals + 0. + 1. + 0.06256109481915934 + 0.91886608015640270 + + + + +0 0 0 +0 0 0.03125 +0 0 0.0625 +0 0 0.09375 +0 0 0.125 +0 0 0.1562 +0 0 0.1875 +0 0 0.2188 +0 0 0.25 +0 0 0.2812 +0 0 0.3125 +0 0 0.3438 +0 0 0.375 +0 0 0.4062 +0 0 0.4375 +0 0 0.4688 +0 0 0.5 +0 0 0.5312 +0 0 0.5625 +0 0 0.5938 +0 0 0.625 +0 0 0.6562 +0 0 0.6875 +0 0 0.7188 +0 0 0.75 +0 0 0.7812 +0 0 0.8125 +0 0 0.8438 +0 0 0.875 +0 0 0.9062 +0 0 0.9375 +0 0 0.9688 +0 0 1 +0 0.03125 0 +0 0.03125 0.03125 +0 0.03125 0.0625 +0 0.03125 0.09375 +0 0.03125 0.125 +0 0.03125 0.1562 +0 0.03125 0.1875 +0 0.03125 0.2188 +0 0.03125 0.25 +0 0.03125 0.2812 +0 0.03125 0.3125 +0 0.03125 0.3438 +0 0.03125 0.375 +0 0.03125 0.4062 +0 0.03125 0.4375 +0 0.03125 0.4688 +0 0.03125 0.5 +0 0.03125 0.5312 +0 0.03125 0.5625 +0 0.03125 0.5938 +0 0.03125 0.625 +0 0.03125 0.6562 +0 0.03125 0.6875 +0 0.03125 0.7188 +0 0.03125 0.75 +0 0.03125 0.7812 +0 0.03125 0.8125 +0 0.03125 0.8438 +0 0.03125 0.875 +0 0.03125 0.9062 +0 0.03125 0.9375 +0 0.03125 0.9688 +0 0.03125 1 +0 0.0625 0 +0 0.0625 0.03125 +0 0.0625 0.0625 +0 0.0625 0.09375 +0 0.0625 0.125 +0 0.0625 0.1562 +0 0.0625 0.1875 +0 0.0625 0.2188 +0 0.0625 0.25 +0 0.0625 0.2812 +0 0.0625 0.3125 +0 0.0625 0.3438 +0 0.0625 0.375 +0 0.0625 0.4062 +0 0.0625 0.4375 +0 0.0625 0.4688 +0 0.0625 0.5 +0 0.0625 0.5312 +0 0.0625 0.5625 +0 0.0625 0.5938 +0 0.0625 0.625 +0 0.0625 0.6562 +0 0.0625 0.6875 +0 0.0625 0.7188 +0 0.0625 0.75 +0 0.0625 0.7812 +0 0.0625 0.8125 +0 0.0625 0.8438 +0 0.0625 0.875 +0 0.0625 0.9062 +0 0.0625 0.9375 +0 0.0625 0.9688 +0 0.0625 1 +0 0.09375 0 +0 0.09375 0.03125 +0 0.09375 0.0625 +0 0.09375 0.09375 +0 0.09375 0.125 +0 0.09375 0.1562 +0 0.09375 0.1875 +0 0.09375 0.2188 +0 0.09375 0.25 +0 0.09375 0.2812 +0 0.09375 0.3125 +0 0.09375 0.3438 +0 0.09375 0.375 +0 0.09375 0.4062 +0 0.09375 0.4375 +0 0.09375 0.4688 +0 0.09375 0.5 +0 0.09375 0.5312 +0 0.09375 0.5625 +0 0.09375 0.5938 +0 0.09375 0.625 +0 0.09375 0.6562 +0 0.09375 0.6875 +0 0.09375 0.7188 +0 0.09375 0.75 +0 0.09375 0.7812 +0 0.09375 0.8125 +0 0.09375 0.8438 +0 0.09375 0.875 +0 0.09375 0.9062 +0 0.09375 0.9375 +0 0.09375 0.9688 +0 0.09375 1 +0 0.125 0 +0 0.125 0.03125 +0 0.125 0.0625 +0 0.125 0.09375 +0 0.125 0.125 +0 0.125 0.1562 +0 0.125 0.1875 +0 0.125 0.2188 +0 0.125 0.25 +0 0.125 0.2812 +0 0.125 0.3125 +0 0.125 0.3438 +0 0.125 0.375 +0 0.125 0.4062 +0 0.125 0.4375 +0 0.125 0.4688 +0 0.125 0.5 +0 0.125 0.5312 +0 0.125 0.5625 +0 0.125 0.5938 +0 0.125 0.625 +0 0.125 0.6562 +0 0.125 0.6875 +0 0.125 0.7188 +0 0.125 0.75 +0 0.125 0.7812 +0 0.125 0.8125 +0 0.125 0.8438 +0 0.125 0.875 +0 0.125 0.9062 +0 0.125 0.9375 +0 0.125 0.9688 +0 0.125 1 +0 0.1562 0 +0 0.1562 0.03125 +0 0.1562 0.0625 +0 0.1562 0.09375 +0 0.1562 0.125 +0 0.1562 0.1562 +0 0.1562 0.1875 +0 0.1562 0.2188 +0 0.1562 0.25 +0 0.1562 0.2812 +0 0.1562 0.3125 +0 0.1562 0.3438 +0 0.1562 0.375 +0 0.1562 0.4062 +0 0.1562 0.4375 +0 0.1562 0.4688 +0 0.1562 0.5 +0 0.1562 0.5312 +0 0.1562 0.5625 +0 0.1562 0.5938 +0 0.1562 0.625 +0 0.1562 0.6562 +0 0.1562 0.6875 +0 0.1562 0.7188 +0 0.1562 0.75 +0 0.1562 0.7812 +0 0.1562 0.8125 +0 0.1562 0.8438 +0 0.1562 0.875 +0 0.1562 0.9062 +0 0.1562 0.9375 +0 0.1562 0.9688 +0 0.1562 1 +0 0.1875 0 +0 0.1875 0.03125 +0 0.1875 0.0625 +0 0.1875 0.09375 +0 0.1875 0.125 +0 0.1875 0.1562 +0 0.1875 0.1875 +0 0.1875 0.2188 +0 0.1875 0.25 +0 0.1875 0.2812 +0 0.1875 0.3125 +0 0.1875 0.3438 +0 0.1875 0.375 +0 0.1875 0.4062 +0 0.1875 0.4375 +0 0.1875 0.4688 +0 0.1875 0.5 +0 0.1875 0.5312 +0 0.1875 0.5625 +0 0.1875 0.5938 +0 0.1875 0.625 +0 0.1875 0.6562 +0 0.1875 0.6875 +0 0.1875 0.7188 +0 0.1875 0.75 +0 0.1875 0.7812 +0 0.1875 0.8125 +0 0.1875 0.8438 +0 0.1875 0.875 +0 0.1875 0.9062 +0 0.1875 0.9375 +0 0.1875 0.9688 +0 0.1875 1 +0 0.2188 0 +0 0.2188 0.03125 +0 0.2188 0.0625 +0 0.2188 0.09375 +0 0.2188 0.125 +0 0.2188 0.1562 +0 0.2188 0.1875 +0 0.2188 0.2188 +0 0.2188 0.25 +0 0.2188 0.2812 +0 0.2188 0.3125 +0 0.2188 0.3438 +0 0.2188 0.375 +0 0.2188 0.4062 +0 0.2188 0.4375 +0 0.2188 0.4688 +0 0.2188 0.5 +0 0.2188 0.5312 +0 0.2188 0.5625 +0 0.2188 0.5938 +0 0.2188 0.625 +0 0.2188 0.6562 +0 0.2188 0.6875 +0 0.2188 0.7188 +0 0.2188 0.75 +0 0.2188 0.7812 +0 0.2188 0.8125 +0 0.2188 0.8438 +0 0.2188 0.875 +0 0.2188 0.9062 +0 0.2188 0.9375 +0 0.2188 0.9688 +0 0.2188 1 +0 0.25 0 +0 0.25 0.03125 +0 0.25 0.0625 +0 0.25 0.09375 +0 0.25 0.125 +0 0.25 0.1562 +0 0.25 0.1875 +0 0.25 0.2188 +0 0.25 0.25 +0 0.25 0.2812 +0 0.25 0.3125 +0 0.25 0.3438 +0 0.25 0.375 +0 0.25 0.4062 +0 0.25 0.4375 +0 0.25 0.4688 +0 0.25 0.5 +0 0.25 0.5312 +0 0.25 0.5625 +0 0.25 0.5938 +0 0.25 0.625 +0 0.25 0.6562 +0 0.25 0.6875 +0 0.25 0.7188 +0 0.25 0.75 +0 0.25 0.7812 +0 0.25 0.8125 +0 0.25 0.8438 +0 0.25 0.875 +0 0.25 0.9062 +0 0.25 0.9375 +0 0.25 0.9688 +0 0.25 1 +0 0.2812 0 +0 0.2812 0.03125 +0 0.2812 0.0625 +0 0.2812 0.09375 +0 0.2812 0.125 +0 0.2812 0.1562 +0 0.2812 0.1875 +0 0.2812 0.2188 +0 0.2812 0.25 +0 0.2812 0.2812 +0 0.2812 0.3125 +0 0.2812 0.3438 +0 0.2812 0.375 +0 0.2812 0.4062 +0 0.2812 0.4375 +0 0.2812 0.4688 +0 0.2812 0.5 +0 0.2812 0.5312 +0 0.2812 0.5625 +0 0.2812 0.5938 +0 0.2812 0.625 +0 0.2812 0.6562 +0 0.2812 0.6875 +0 0.2812 0.7188 +0 0.2812 0.75 +0 0.2812 0.7812 +0 0.2812 0.8125 +0 0.2812 0.8438 +0 0.2812 0.875 +0 0.2812 0.9062 +0 0.2812 0.9375 +0 0.2812 0.9688 +0 0.2812 1 +0 0.3125 0 +0 0.3125 0.03125 +0 0.3125 0.0625 +0 0.3125 0.09375 +0 0.3125 0.125 +0 0.3125 0.1562 +0 0.3125 0.1875 +0 0.3125 0.2188 +0 0.3125 0.25 +0 0.3125 0.2812 +0 0.3125 0.3125 +0 0.3125 0.3438 +0 0.3125 0.375 +0 0.3125 0.4062 +0 0.3125 0.4375 +0 0.3125 0.4688 +0 0.3125 0.5 +0 0.3125 0.5312 +0 0.3125 0.5625 +0 0.3125 0.5938 +0 0.3125 0.625 +0 0.3125 0.6562 +0 0.3125 0.6875 +0 0.3125 0.7188 +0 0.3125 0.75 +0 0.3125 0.7812 +0 0.3125 0.8125 +0 0.3125 0.8438 +0 0.3125 0.875 +0 0.3125 0.9062 +0 0.3125 0.9375 +0 0.3125 0.9688 +0 0.3125 1 +0 0.3438 0 +0 0.3438 0.03125 +0 0.3438 0.0625 +0 0.3438 0.09375 +0 0.3438 0.125 +0 0.3438 0.1562 +0 0.3438 0.1875 +0 0.3438 0.2188 +0 0.3438 0.25 +0 0.3438 0.2812 +0 0.3438 0.3125 +0 0.3438 0.3438 +0 0.3438 0.375 +0 0.3438 0.4062 +0 0.3438 0.4375 +0 0.3438 0.4688 +0 0.3438 0.5 +0 0.3438 0.5312 +0 0.3438 0.5625 +0 0.3438 0.5938 +0 0.3438 0.625 +0 0.3438 0.6562 +0 0.3438 0.6875 +0 0.3438 0.7188 +0 0.3438 0.75 +0 0.3438 0.7812 +0 0.3438 0.8125 +0 0.3438 0.8438 +0 0.3438 0.875 +0 0.3438 0.9062 +0 0.3438 0.9375 +0 0.3438 0.9688 +0 0.3438 1 +0 0.375 0 +0 0.375 0.03125 +0 0.375 0.0625 +0 0.375 0.09375 +0 0.375 0.125 +0 0.375 0.1562 +0 0.375 0.1875 +0 0.375 0.2188 +0 0.375 0.25 +0 0.375 0.2812 +0 0.375 0.3125 +0 0.375 0.3438 +0 0.375 0.375 +0 0.375 0.4062 +0 0.375 0.4375 +0 0.375 0.4688 +0 0.375 0.5 +0 0.375 0.5312 +0 0.375 0.5625 +0 0.375 0.5938 +0 0.375 0.625 +0 0.375 0.6562 +0 0.375 0.6875 +0 0.375 0.7188 +0 0.375 0.75 +0 0.375 0.7812 +0 0.375 0.8125 +0 0.375 0.8438 +0 0.375 0.875 +0 0.375 0.9062 +0 0.375 0.9375 +0 0.375 0.9688 +0 0.375 1 +0 0.4062 0 +0 0.4062 0.03125 +0 0.4062 0.0625 +0 0.4062 0.09375 +0 0.4062 0.125 +0 0.4062 0.1562 +0 0.4062 0.1875 +0 0.4062 0.2188 +0 0.4062 0.25 +0 0.4062 0.2812 +0 0.4062 0.3125 +0 0.4062 0.3438 +0 0.4062 0.375 +0 0.4062 0.4062 +0 0.4062 0.4375 +0 0.4062 0.4688 +0 0.4062 0.5 +0 0.4062 0.5312 +0 0.4062 0.5625 +0 0.4062 0.5938 +0 0.4062 0.625 +0 0.4062 0.6562 +0 0.4062 0.6875 +0 0.4062 0.7188 +0 0.4062 0.75 +0 0.4062 0.7812 +0 0.4062 0.8125 +0 0.4062 0.8438 +0 0.4062 0.875 +0 0.4062 0.9062 +0 0.4062 0.9375 +0 0.4062 0.9688 +0 0.4062 1 +0 0.4375 0 +0 0.4375 0.03125 +0 0.4375 0.0625 +0 0.4375 0.09375 +0 0.4375 0.125 +0 0.4375 0.1562 +0 0.4375 0.1875 +0 0.4375 0.2188 +0 0.4375 0.25 +0 0.4375 0.2812 +0 0.4375 0.3125 +0 0.4375 0.3438 +0 0.4375 0.375 +0 0.4375 0.4062 +0 0.4375 0.4375 +0 0.4375 0.4688 +0 0.4375 0.5 +0 0.4375 0.5312 +0 0.4375 0.5625 +0 0.4375 0.5938 +0 0.4375 0.625 +0 0.4375 0.6562 +0 0.4375 0.6875 +0 0.4375 0.7188 +0 0.4375 0.75 +0 0.4375 0.7812 +0 0.4375 0.8125 +0 0.4375 0.8438 +0 0.4375 0.875 +0 0.4375 0.9062 +0 0.4375 0.9375 +0 0.4375 0.9688 +0 0.4375 1 +0 0.4688 0 +0 0.4688 0.03125 +0 0.4688 0.0625 +0 0.4688 0.09375 +0 0.4688 0.125 +0 0.4688 0.1562 +0 0.4688 0.1875 +0 0.4688 0.2188 +0 0.4688 0.25 +0 0.4688 0.2812 +0 0.4688 0.3125 +0 0.4688 0.3438 +0 0.4688 0.375 +0 0.4688 0.4062 +0 0.4688 0.4375 +0 0.4688 0.4688 +0 0.4688 0.5 +0 0.4688 0.5312 +0 0.4688 0.5625 +0 0.4688 0.5938 +0 0.4688 0.625 +0 0.4688 0.6562 +0 0.4688 0.6875 +0 0.4688 0.7188 +0 0.4688 0.75 +0 0.4688 0.7812 +0 0.4688 0.8125 +0 0.4688 0.8438 +0 0.4688 0.875 +0 0.4688 0.9062 +0 0.4688 0.9375 +0 0.4688 0.9688 +0 0.4688 1 +0 0.5 0 +0 0.5 0.03125 +0 0.5 0.0625 +0 0.5 0.09375 +0 0.5 0.125 +0 0.5 0.1562 +0 0.5 0.1875 +0 0.5 0.2188 +0 0.5 0.25 +0 0.5 0.2812 +0 0.5 0.3125 +0 0.5 0.3438 +0 0.5 0.375 +0 0.5 0.4062 +0 0.5 0.4375 +0 0.5 0.4688 +0 0.5 0.5 +0 0.5 0.5312 +0 0.5 0.5625 +0 0.5 0.5938 +0 0.5 0.625 +0 0.5 0.6562 +0 0.5 0.6875 +0 0.5 0.7188 +0 0.5 0.75 +0 0.5 0.7812 +0 0.5 0.8125 +0 0.5 0.8438 +0 0.5 0.875 +0 0.5 0.9062 +0 0.5 0.9375 +0 0.5 0.9688 +0 0.5 1 +0 0.5312 0 +0 0.5312 0.03125 +0 0.5312 0.0625 +0 0.5312 0.09375 +0 0.5312 0.125 +0 0.5312 0.1562 +0 0.5312 0.1875 +0 0.5312 0.2188 +0 0.5312 0.25 +0 0.5312 0.2812 +0 0.5312 0.3125 +0 0.5312 0.3438 +0 0.5312 0.375 +0 0.5312 0.4062 +0 0.5312 0.4375 +0 0.5312 0.4688 +0 0.5312 0.5 +0 0.5312 0.5312 +0 0.5312 0.5625 +0 0.5312 0.5938 +0 0.5312 0.625 +0 0.5312 0.6562 +0 0.5312 0.6875 +0 0.5312 0.7188 +0 0.5312 0.75 +0 0.5312 0.7812 +0 0.5312 0.8125 +0 0.5312 0.8438 +0 0.5312 0.875 +0 0.5312 0.9062 +0 0.5312 0.9375 +0 0.5312 0.9688 +0 0.5312 1 +0 0.5625 0 +0 0.5625 0.03125 +0 0.5625 0.0625 +0 0.5625 0.09375 +0 0.5625 0.125 +0 0.5625 0.1562 +0 0.5625 0.1875 +0 0.5625 0.2188 +0 0.5625 0.25 +0 0.5625 0.2812 +0 0.5625 0.3125 +0 0.5625 0.3438 +0 0.5625 0.375 +0 0.5625 0.4062 +0 0.5625 0.4375 +0 0.5625 0.4688 +0 0.5625 0.5 +0 0.5625 0.5312 +0 0.5625 0.5625 +0 0.5625 0.5938 +0 0.5625 0.625 +0 0.5625 0.6562 +0 0.5625 0.6875 +0 0.5625 0.7188 +0 0.5625 0.75 +0 0.5625 0.7812 +0 0.5625 0.8125 +0 0.5625 0.8438 +0 0.5625 0.875 +0 0.5625 0.9062 +0 0.5625 0.9375 +0 0.5625 0.9688 +0 0.5625 1 +0 0.5938 0 +0 0.5938 0.03125 +0 0.5938 0.0625 +0 0.5938 0.09375 +0 0.5938 0.125 +0 0.5938 0.1562 +0 0.5938 0.1875 +0 0.5938 0.2188 +0 0.5938 0.25 +0 0.5938 0.2812 +0 0.5938 0.3125 +0 0.5938 0.3438 +0 0.5938 0.375 +0 0.5938 0.4062 +0 0.5938 0.4375 +0 0.5938 0.4688 +0 0.5938 0.5 +0 0.5938 0.5312 +0 0.5938 0.5625 +0 0.5938 0.5938 +0 0.5938 0.625 +0 0.5938 0.6562 +0 0.5938 0.6875 +0 0.5938 0.7188 +0 0.5938 0.75 +0 0.5938 0.7812 +0 0.5938 0.8125 +0 0.5938 0.8438 +0 0.5938 0.875 +0 0.5938 0.9062 +0 0.5938 0.9375 +0 0.5938 0.9688 +0 0.5938 1 +0 0.625 0 +0 0.625 0.03125 +0 0.625 0.0625 +0 0.625 0.09375 +0 0.625 0.125 +0 0.625 0.1562 +0 0.625 0.1875 +0 0.625 0.2188 +0 0.625 0.25 +0 0.625 0.2812 +0 0.625 0.3125 +0 0.625 0.3438 +0 0.625 0.375 +0 0.625 0.4062 +0 0.625 0.4375 +0 0.625 0.4688 +0 0.625 0.5 +0 0.625 0.5312 +0 0.625 0.5625 +0 0.625 0.5938 +0 0.625 0.625 +0 0.625 0.6562 +0 0.625 0.6875 +0 0.625 0.7188 +0 0.625 0.75 +0 0.625 0.7812 +0 0.625 0.8125 +0 0.625 0.8438 +0 0.625 0.875 +0 0.625 0.9062 +0 0.625 0.9375 +0 0.625 0.9688 +0 0.625 1 +0 0.6562 0 +0 0.6562 0.03125 +0 0.6562 0.0625 +0 0.6562 0.09375 +0 0.6562 0.125 +0 0.6562 0.1562 +0 0.6562 0.1875 +0 0.6562 0.2188 +0 0.6562 0.25 +0 0.6562 0.2812 +0 0.6562 0.3125 +0 0.6562 0.3438 +0 0.6562 0.375 +0 0.6562 0.4062 +0 0.6562 0.4375 +0 0.6562 0.4688 +0 0.6562 0.5 +0 0.6562 0.5312 +0 0.6562 0.5625 +0 0.6562 0.5938 +0 0.6562 0.625 +0 0.6562 0.6562 +0 0.6562 0.6875 +0 0.6562 0.7188 +0 0.6562 0.75 +0 0.6562 0.7812 +0 0.6562 0.8125 +0 0.6562 0.8438 +0 0.6562 0.875 +0 0.6562 0.9062 +0 0.6562 0.9375 +0 0.6562 0.9688 +0 0.6562 1 +0 0.6875 0 +0 0.6875 0.03125 +0 0.6875 0.0625 +0 0.6875 0.09375 +0 0.6875 0.125 +0 0.6875 0.1562 +0 0.6875 0.1875 +0 0.6875 0.2188 +0 0.6875 0.25 +0 0.6875 0.2812 +0 0.6875 0.3125 +0 0.6875 0.3438 +0 0.6875 0.375 +0 0.6875 0.4062 +0 0.6875 0.4375 +0 0.6875 0.4688 +0 0.6875 0.5 +0 0.6875 0.5312 +0 0.6875 0.5625 +0 0.6875 0.5938 +0 0.6875 0.625 +0 0.6875 0.6562 +0 0.6875 0.6875 +0 0.6875 0.7188 +0 0.6875 0.75 +0 0.6875 0.7812 +0 0.6875 0.8125 +0 0.6875 0.8438 +0 0.6875 0.875 +0 0.6875 0.9062 +0 0.6875 0.9375 +0 0.6875 0.9688 +0 0.6875 1 +0 0.7188 0 +0 0.7188 0.03125 +0 0.7188 0.0625 +0 0.7188 0.09375 +0 0.7188 0.125 +0 0.7188 0.1562 +0 0.7188 0.1875 +0 0.7188 0.2188 +0 0.7188 0.25 +0 0.7188 0.2812 +0 0.7188 0.3125 +0 0.7188 0.3438 +0 0.7188 0.375 +0 0.7188 0.4062 +0 0.7188 0.4375 +0 0.7188 0.4688 +0 0.7188 0.5 +0 0.7188 0.5312 +0 0.7188 0.5625 +0 0.7188 0.5938 +0 0.7188 0.625 +0 0.7188 0.6562 +0 0.7188 0.6875 +0 0.7188 0.7188 +0 0.7188 0.75 +0 0.7188 0.7812 +0 0.7188 0.8125 +0 0.7188 0.8438 +0 0.7188 0.875 +0 0.7188 0.9062 +0 0.7188 0.9375 +0 0.7188 0.9688 +0 0.7188 1 +0 0.75 0 +0 0.75 0.03125 +0 0.75 0.0625 +0 0.75 0.09375 +0 0.75 0.125 +0 0.75 0.1562 +0 0.75 0.1875 +0 0.75 0.2188 +0 0.75 0.25 +0 0.75 0.2812 +0 0.75 0.3125 +0 0.75 0.3438 +0 0.75 0.375 +0 0.75 0.4062 +0 0.75 0.4375 +0 0.75 0.4688 +0 0.75 0.5 +0 0.75 0.5312 +0 0.75 0.5625 +0 0.75 0.5938 +0 0.75 0.625 +0 0.75 0.6562 +0 0.75 0.6875 +0 0.75 0.7188 +0 0.75 0.75 +0 0.75 0.7812 +0 0.75 0.8125 +0 0.75 0.8438 +0 0.75 0.875 +0 0.75 0.9062 +0 0.75 0.9375 +0 0.75 0.9688 +0 0.75 1 +0 0.7812 0 +0 0.7812 0.03125 +0 0.7812 0.0625 +0 0.7812 0.09375 +0 0.7812 0.125 +0 0.7812 0.1562 +0 0.7812 0.1875 +0 0.7812 0.2188 +0 0.7812 0.25 +0 0.7812 0.2812 +0 0.7812 0.3125 +0 0.7812 0.3438 +0 0.7812 0.375 +0 0.7812 0.4062 +0 0.7812 0.4375 +0 0.7812 0.4688 +0 0.7812 0.5 +0 0.7812 0.5312 +0 0.7812 0.5625 +0 0.7812 0.5938 +0 0.7812 0.625 +0 0.7812 0.6562 +0 0.7812 0.6875 +0 0.7812 0.7188 +0 0.7812 0.75 +0 0.7812 0.7812 +0 0.7812 0.8125 +0 0.7812 0.8438 +0 0.7812 0.875 +0 0.7812 0.9062 +0 0.7812 0.9375 +0 0.7812 0.9688 +0 0.7812 1 +0 0.8125 0 +0 0.8125 0.03125 +0 0.8125 0.0625 +0 0.8125 0.09375 +0 0.8125 0.125 +0 0.8125 0.1562 +0 0.8125 0.1875 +0 0.8125 0.2188 +0 0.8125 0.25 +0 0.8125 0.2812 +0 0.8125 0.3125 +0 0.8125 0.3438 +0 0.8125 0.375 +0 0.8125 0.4062 +0 0.8125 0.4375 +0 0.8125 0.4688 +0 0.8125 0.5 +0 0.8125 0.5312 +0 0.8125 0.5625 +0 0.8125 0.5938 +0 0.8125 0.625 +0 0.8125 0.6562 +0 0.8125 0.6875 +0 0.8125 0.7188 +0 0.8125 0.75 +0 0.8125 0.7812 +0 0.8125 0.8125 +0 0.8125 0.8438 +0 0.8125 0.875 +0 0.8125 0.9062 +0 0.8125 0.9375 +0 0.8125 0.9688 +0 0.8125 1 +0 0.8438 0 +0 0.8438 0.03125 +0 0.8438 0.0625 +0 0.8438 0.09375 +0 0.8438 0.125 +0 0.8438 0.1562 +0 0.8438 0.1875 +0 0.8438 0.2188 +0 0.8438 0.25 +0 0.8438 0.2812 +0 0.8438 0.3125 +0 0.8438 0.3438 +0 0.8438 0.375 +0 0.8438 0.4062 +0 0.8438 0.4375 +0 0.8438 0.4688 +0 0.8438 0.5 +0 0.8438 0.5312 +0 0.8438 0.5625 +0 0.8438 0.5938 +0 0.8438 0.625 +0 0.8438 0.6562 +0 0.8438 0.6875 +0 0.8438 0.7188 +0 0.8438 0.75 +0 0.8438 0.7812 +0 0.8438 0.8125 +0 0.8438 0.8438 +0 0.8438 0.875 +0 0.8438 0.9062 +0 0.8438 0.9375 +0 0.8438 0.9688 +0 0.8438 1 +0 0.875 0 +0 0.875 0.03125 +0 0.875 0.0625 +0 0.875 0.09375 +0 0.875 0.125 +0 0.875 0.1562 +0 0.875 0.1875 +0 0.875 0.2188 +0 0.875 0.25 +0 0.875 0.2812 +0 0.875 0.3125 +0 0.875 0.3438 +0 0.875 0.375 +0 0.875 0.4062 +0 0.875 0.4375 +0 0.875 0.4688 +0 0.875 0.5 +0 0.875 0.5312 +0 0.875 0.5625 +0 0.875 0.5938 +0 0.875 0.625 +0 0.875 0.6562 +0 0.875 0.6875 +0 0.875 0.7188 +0 0.875 0.75 +0 0.875 0.7812 +0 0.875 0.8125 +0 0.875 0.8438 +0 0.875 0.875 +0 0.875 0.9062 +0 0.875 0.9375 +0 0.875 0.9688 +0 0.875 1 +0 0.9062 0 +0 0.9062 0.03125 +0 0.9062 0.0625 +0 0.9062 0.09375 +0 0.9062 0.125 +0 0.9062 0.1562 +0 0.9062 0.1875 +0 0.9062 0.2188 +0 0.9062 0.25 +0 0.9062 0.2812 +0 0.9062 0.3125 +0 0.9062 0.3438 +0 0.9062 0.375 +0 0.9062 0.4062 +0 0.9062 0.4375 +0 0.9062 0.4688 +0 0.9062 0.5 +0 0.9062 0.5312 +0 0.9062 0.5625 +0 0.9062 0.5938 +0 0.9062 0.625 +0 0.9062 0.6562 +0 0.9062 0.6875 +0 0.9062 0.7188 +0 0.9062 0.75 +0 0.9062 0.7812 +0 0.9062 0.8125 +0 0.9062 0.8438 +0 0.9062 0.875 +0 0.9062 0.9062 +0 0.9062 0.9375 +0 0.9062 0.9688 +0 0.9062 1 +0 0.9375 0 +0 0.9375 0.03125 +0 0.9375 0.0625 +0 0.9375 0.09375 +0 0.9375 0.125 +0 0.9375 0.1562 +0 0.9375 0.1875 +0 0.9375 0.2188 +0 0.9375 0.25 +0 0.9375 0.2812 +0 0.9375 0.3125 +0 0.9375 0.3438 +0 0.9375 0.375 +0 0.9375 0.4062 +0 0.9375 0.4375 +0 0.9375 0.4688 +0 0.9375 0.5 +0 0.9375 0.5312 +0 0.9375 0.5625 +0 0.9375 0.5938 +0 0.9375 0.625 +0 0.9375 0.6562 +0 0.9375 0.6875 +0 0.9375 0.7188 +0 0.9375 0.75 +0 0.9375 0.7812 +0 0.9375 0.8125 +0 0.9375 0.8438 +0 0.9375 0.875 +0 0.9375 0.9062 +0 0.9375 0.9375 +0 0.9375 0.9688 +0 0.9375 1 +0 0.9688 0 +0 0.9688 0.03125 +0 0.9688 0.0625 +0 0.9688 0.09375 +0 0.9688 0.125 +0 0.9688 0.1562 +0 0.9688 0.1875 +0 0.9688 0.2188 +0 0.9688 0.25 +0 0.9688 0.2812 +0 0.9688 0.3125 +0 0.9688 0.3438 +0 0.9688 0.375 +0 0.9688 0.4062 +0 0.9688 0.4375 +0 0.9688 0.4688 +0 0.9688 0.5 +0 0.9688 0.5312 +0 0.9688 0.5625 +0 0.9688 0.5938 +0 0.9688 0.625 +0 0.9688 0.6562 +0 0.9688 0.6875 +0 0.9688 0.7188 +0 0.9688 0.75 +0 0.9688 0.7812 +0 0.9688 0.8125 +0 0.9688 0.8438 +0 0.9688 0.875 +0 0.9688 0.9062 +0 0.9688 0.9375 +0 0.9688 0.9688 +0 0.9688 1 +0 1 0 +0 1 0.03125 +0 1 0.0625 +0 1 0.09375 +0 1 0.125 +0 1 0.1562 +0 1 0.1875 +0 1 0.2188 +0 1 0.25 +0 1 0.2812 +0 1 0.3125 +0 1 0.3438 +0 1 0.375 +0 1 0.4062 +0 1 0.4375 +0 1 0.4688 +0 1 0.5 +0 1 0.5312 +0 1 0.5625 +0 1 0.5938 +0 1 0.625 +0 1 0.6562 +0 1 0.6875 +0 1 0.7188 +0 1 0.75 +0 1 0.7812 +0 1 0.8125 +0 1 0.8438 +0 1 0.875 +0 1 0.9062 +0 1 0.9375 +0 1 0.9688 +0 1 1 +0.03125 0 0 +0.03125 0 0.03125 +0.03125 0 0.0625 +0.03125 0 0.09375 +0.03125 0 0.125 +0.03125 0 0.1562 +0.03125 0 0.1875 +0.03125 0 0.2188 +0.03125 0 0.25 +0.03125 0 0.2812 +0.03125 0 0.3125 +0.03125 0 0.3438 +0.03125 0 0.375 +0.03125 0 0.4062 +0.03125 0 0.4375 +0.03125 0 0.4688 +0.03125 0 0.5 +0.03125 0 0.5312 +0.03125 0 0.5625 +0.03125 0 0.5938 +0.03125 0 0.625 +0.03125 0 0.6562 +0.03125 0 0.6875 +0.03125 0 0.7188 +0.03125 0 0.75 +0.03125 0 0.7812 +0.03125 0 0.8125 +0.03125 0 0.8438 +0.03125 0 0.875 +0.03125 0 0.9062 +0.03125 0 0.9375 +0.03125 0 0.9688 +0.03125 0 1 +0.03125 0.03125 0 +0.03125 0.03125 0.03125 +0.03125 0.03125 0.0625 +0.03125 0.03125 0.09375 +0.03125 0.03125 0.125 +0.03125 0.03125 0.1562 +0.03125 0.03125 0.1875 +0.03125 0.03125 0.2188 +0.03125 0.03125 0.25 +0.03125 0.03125 0.2812 +0.03125 0.03125 0.3125 +0.03125 0.03125 0.3438 +0.03125 0.03125 0.375 +0.03125 0.03125 0.4062 +0.03125 0.03125 0.4375 +0.03125 0.03125 0.4688 +0.03125 0.03125 0.5 +0.03125 0.03125 0.5312 +0.03125 0.03125 0.5625 +0.03125 0.03125 0.5938 +0.03125 0.03125 0.625 +0.03125 0.03125 0.6562 +0.03125 0.03125 0.6875 +0.03125 0.03125 0.7188 +0.03125 0.03125 0.75 +0.03125 0.03125 0.7812 +0.03125 0.03125 0.8125 +0.03125 0.03125 0.8438 +0.03125 0.03125 0.875 +0.03125 0.03125 0.9062 +0.03125 0.03125 0.9375 +0.03125 0.03125 0.9688 +0.03125 0.03125 1 +0.03125 0.0625 0 +0.03125 0.0625 0.03125 +0.03125 0.0625 0.0625 +0.03125 0.0625 0.09375 +0.03125 0.0625 0.125 +0.03125 0.0625 0.1562 +0.03125 0.0625 0.1875 +0.03125 0.0625 0.2188 +0.03125 0.0625 0.25 +0.03125 0.0625 0.2812 +0.03125 0.0625 0.3125 +0.03125 0.0625 0.3438 +0.03125 0.0625 0.375 +0.03125 0.0625 0.4062 +0.03125 0.0625 0.4375 +0.03125 0.0625 0.4688 +0.03125 0.0625 0.5 +0.03125 0.0625 0.5312 +0.03125 0.0625 0.5625 +0.03125 0.0625 0.5938 +0.03125 0.0625 0.625 +0.03125 0.0625 0.6562 +0.03125 0.0625 0.6875 +0.03125 0.0625 0.7188 +0.03125 0.0625 0.75 +0.03125 0.0625 0.7812 +0.03125 0.0625 0.8125 +0.03125 0.0625 0.8438 +0.03125 0.0625 0.875 +0.03125 0.0625 0.9062 +0.03125 0.0625 0.9375 +0.03125 0.0625 0.9688 +0.03125 0.0625 1 +0.03125 0.09375 0 +0.03125 0.09375 0.03125 +0.03125 0.09375 0.0625 +0.03125 0.09375 0.09375 +0.03125 0.09375 0.125 +0.03125 0.09375 0.1562 +0.03125 0.09375 0.1875 +0.03125 0.09375 0.2188 +0.03125 0.09375 0.25 +0.03125 0.09375 0.2812 +0.03125 0.09375 0.3125 +0.03125 0.09375 0.3438 +0.03125 0.09375 0.375 +0.03125 0.09375 0.4062 +0.03125 0.09375 0.4375 +0.03125 0.09375 0.4688 +0.03125 0.09375 0.5 +0.03125 0.09375 0.5312 +0.03125 0.09375 0.5625 +0.03125 0.09375 0.5938 +0.03125 0.09375 0.625 +0.03125 0.09375 0.6562 +0.03125 0.09375 0.6875 +0.03125 0.09375 0.7188 +0.03125 0.09375 0.75 +0.03125 0.09375 0.7812 +0.03125 0.09375 0.8125 +0.03125 0.09375 0.8438 +0.03125 0.09375 0.875 +0.03125 0.09375 0.9062 +0.03125 0.09375 0.9375 +0.03125 0.09375 0.9688 +0.03125 0.09375 1 +0.03125 0.125 0 +0.03125 0.125 0.03125 +0.03125 0.125 0.0625 +0.03125 0.125 0.09375 +0.03125 0.125 0.125 +0.03125 0.125 0.1562 +0.03125 0.125 0.1875 +0.03125 0.125 0.2188 +0.03125 0.125 0.25 +0.03125 0.125 0.2812 +0.03125 0.125 0.3125 +0.03125 0.125 0.3438 +0.03125 0.125 0.375 +0.03125 0.125 0.4062 +0.03125 0.125 0.4375 +0.03125 0.125 0.4688 +0.03125 0.125 0.5 +0.03125 0.125 0.5312 +0.03125 0.125 0.5625 +0.03125 0.125 0.5938 +0.03125 0.125 0.625 +0.03125 0.125 0.6562 +0.03125 0.125 0.6875 +0.03125 0.125 0.7188 +0.03125 0.125 0.75 +0.03125 0.125 0.7812 +0.03125 0.125 0.8125 +0.03125 0.125 0.8438 +0.03125 0.125 0.875 +0.03125 0.125 0.9062 +0.03125 0.125 0.9375 +0.03125 0.125 0.9688 +0.03125 0.125 1 +0.03125 0.1562 0 +0.03125 0.1562 0.03125 +0.03125 0.1562 0.0625 +0.03125 0.1562 0.09375 +0.03125 0.1562 0.125 +0.03125 0.1562 0.1562 +0.03125 0.1562 0.1875 +0.03125 0.1562 0.2188 +0.03125 0.1562 0.25 +0.03125 0.1562 0.2812 +0.03125 0.1562 0.3125 +0.03125 0.1562 0.3438 +0.03125 0.1562 0.375 +0.03125 0.1562 0.4062 +0.03125 0.1562 0.4375 +0.03125 0.1562 0.4688 +0.03125 0.1562 0.5 +0.03125 0.1562 0.5312 +0.03125 0.1562 0.5625 +0.03125 0.1562 0.5938 +0.03125 0.1562 0.625 +0.03125 0.1562 0.6562 +0.03125 0.1562 0.6875 +0.03125 0.1562 0.7188 +0.03125 0.1562 0.75 +0.03125 0.1562 0.7812 +0.03125 0.1562 0.8125 +0.03125 0.1562 0.8438 +0.03125 0.1562 0.875 +0.03125 0.1562 0.9062 +0.03125 0.1562 0.9375 +0.03125 0.1562 0.9688 +0.03125 0.1562 1 +0.03125 0.1875 0 +0.03125 0.1875 0.03125 +0.03125 0.1875 0.0625 +0.03125 0.1875 0.09375 +0.03125 0.1875 0.125 +0.03125 0.1875 0.1562 +0.03125 0.1875 0.1875 +0.03125 0.1875 0.2188 +0.03125 0.1875 0.25 +0.03125 0.1875 0.2812 +0.03125 0.1875 0.3125 +0.03125 0.1875 0.3438 +0.03125 0.1875 0.375 +0.03125 0.1875 0.4062 +0.03125 0.1875 0.4375 +0.03125 0.1875 0.4688 +0.03125 0.1875 0.5 +0.03125 0.1875 0.5312 +0.03125 0.1875 0.5625 +0.03125 0.1875 0.5938 +0.03125 0.1875 0.625 +0.03125 0.1875 0.6562 +0.03125 0.1875 0.6875 +0.03125 0.1875 0.7188 +0.03125 0.1875 0.75 +0.03125 0.1875 0.7812 +0.03125 0.1875 0.8125 +0.03125 0.1875 0.8438 +0.03125 0.1875 0.875 +0.03125 0.1875 0.9062 +0.03125 0.1875 0.9375 +0.03125 0.1875 0.9688 +0.03125 0.1875 1 +0.03125 0.2188 0 +0.03125 0.2188 0.03125 +0.03125 0.2188 0.0625 +0.03125 0.2188 0.09375 +0.03125 0.2188 0.125 +0.03125 0.2188 0.1562 +0.03125 0.2188 0.1875 +0.03125 0.2188 0.2188 +0.03125 0.2188 0.25 +0.03125 0.2188 0.2812 +0.03125 0.2188 0.3125 +0.03125 0.2188 0.3438 +0.03125 0.2188 0.375 +0.03125 0.2188 0.4062 +0.03125 0.2188 0.4375 +0.03125 0.2188 0.4688 +0.03125 0.2188 0.5 +0.03125 0.2188 0.5312 +0.03125 0.2188 0.5625 +0.03125 0.2188 0.5938 +0.03125 0.2188 0.625 +0.03125 0.2188 0.6562 +0.03125 0.2188 0.6875 +0.03125 0.2188 0.7188 +0.03125 0.2188 0.75 +0.03125 0.2188 0.7812 +0.03125 0.2188 0.8125 +0.03125 0.2188 0.8438 +0.03125 0.2188 0.875 +0.03125 0.2188 0.9062 +0.03125 0.2188 0.9375 +0.03125 0.2188 0.9688 +0.03125 0.2188 1 +0.03125 0.25 0 +0.03125 0.25 0.03125 +0.03125 0.25 0.0625 +0.03125 0.25 0.09375 +0.03125 0.25 0.125 +0.03125 0.25 0.1562 +0.03125 0.25 0.1875 +0.03125 0.25 0.2188 +0.03125 0.25 0.25 +0.03125 0.25 0.2812 +0.03125 0.25 0.3125 +0.03125 0.25 0.3438 +0.03125 0.25 0.375 +0.03125 0.25 0.4062 +0.03125 0.25 0.4375 +0.03125 0.25 0.4688 +0.03125 0.25 0.5 +0.03125 0.25 0.5312 +0.03125 0.25 0.5625 +0.03125 0.25 0.5938 +0.03125 0.25 0.625 +0.03125 0.25 0.6562 +0.03125 0.25 0.6875 +0.03125 0.25 0.7188 +0.03125 0.25 0.75 +0.03125 0.25 0.7812 +0.03125 0.25 0.8125 +0.03125 0.25 0.8438 +0.03125 0.25 0.875 +0.03125 0.25 0.9062 +0.03125 0.25 0.9375 +0.03125 0.25 0.9688 +0.03125 0.25 1 +0.03125 0.2812 0 +0.03125 0.2812 0.03125 +0.03125 0.2812 0.0625 +0.03125 0.2812 0.09375 +0.03125 0.2812 0.125 +0.03125 0.2812 0.1562 +0.03125 0.2812 0.1875 +0.03125 0.2812 0.2188 +0.03125 0.2812 0.25 +0.03125 0.2812 0.2812 +0.03125 0.2812 0.3125 +0.03125 0.2812 0.3438 +0.03125 0.2812 0.375 +0.03125 0.2812 0.4062 +0.03125 0.2812 0.4375 +0.03125 0.2812 0.4688 +0.03125 0.2812 0.5 +0.03125 0.2812 0.5312 +0.03125 0.2812 0.5625 +0.03125 0.2812 0.5938 +0.03125 0.2812 0.625 +0.03125 0.2812 0.6562 +0.03125 0.2812 0.6875 +0.03125 0.2812 0.7188 +0.03125 0.2812 0.75 +0.03125 0.2812 0.7812 +0.03125 0.2812 0.8125 +0.03125 0.2812 0.8438 +0.03125 0.2812 0.875 +0.03125 0.2812 0.9062 +0.03125 0.2812 0.9375 +0.03125 0.2812 0.9688 +0.03125 0.2812 1 +0.03125 0.3125 0 +0.03125 0.3125 0.03125 +0.03125 0.3125 0.0625 +0.03125 0.3125 0.09375 +0.03125 0.3125 0.125 +0.03125 0.3125 0.1562 +0.03125 0.3125 0.1875 +0.03125 0.3125 0.2188 +0.03125 0.3125 0.25 +0.03125 0.3125 0.2812 +0.03125 0.3125 0.3125 +0.03125 0.3125 0.3438 +0.03125 0.3125 0.375 +0.03125 0.3125 0.4062 +0.03125 0.3125 0.4375 +0.03125 0.3125 0.4688 +0.03125 0.3125 0.5 +0.03125 0.3125 0.5312 +0.03125 0.3125 0.5625 +0.03125 0.3125 0.5938 +0.03125 0.3125 0.625 +0.03125 0.3125 0.6562 +0.03125 0.3125 0.6875 +0.03125 0.3125 0.7188 +0.03125 0.3125 0.75 +0.03125 0.3125 0.7812 +0.03125 0.3125 0.8125 +0.03125 0.3125 0.8438 +0.03125 0.3125 0.875 +0.03125 0.3125 0.9062 +0.03125 0.3125 0.9375 +0.03125 0.3125 0.9688 +0.03125 0.3125 1 +0.03125 0.3438 0 +0.03125 0.3438 0.03125 +0.03125 0.3438 0.0625 +0.03125 0.3438 0.09375 +0.03125 0.3438 0.125 +0.03125 0.3438 0.1562 +0.03125 0.3438 0.1875 +0.03125 0.3438 0.2188 +0.03125 0.3438 0.25 +0.03125 0.3438 0.2812 +0.03125 0.3438 0.3125 +0.03125 0.3438 0.3438 +0.03125 0.3438 0.375 +0.03125 0.3438 0.4062 +0.03125 0.3438 0.4375 +0.03125 0.3438 0.4688 +0.03125 0.3438 0.5 +0.03125 0.3438 0.5312 +0.03125 0.3438 0.5625 +0.03125 0.3438 0.5938 +0.03125 0.3438 0.625 +0.03125 0.3438 0.6562 +0.03125 0.3438 0.6875 +0.03125 0.3438 0.7188 +0.03125 0.3438 0.75 +0.03125 0.3438 0.7812 +0.03125 0.3438 0.8125 +0.03125 0.3438 0.8438 +0.03125 0.3438 0.875 +0.03125 0.3438 0.9062 +0.03125 0.3438 0.9375 +0.03125 0.3438 0.9688 +0.03125 0.3438 1 +0.03125 0.375 0 +0.03125 0.375 0.03125 +0.03125 0.375 0.0625 +0.03125 0.375 0.09375 +0.03125 0.375 0.125 +0.03125 0.375 0.1562 +0.03125 0.375 0.1875 +0.03125 0.375 0.2188 +0.03125 0.375 0.25 +0.03125 0.375 0.2812 +0.03125 0.375 0.3125 +0.03125 0.375 0.3438 +0.03125 0.375 0.375 +0.03125 0.375 0.4062 +0.03125 0.375 0.4375 +0.03125 0.375 0.4688 +0.03125 0.375 0.5 +0.03125 0.375 0.5312 +0.03125 0.375 0.5625 +0.03125 0.375 0.5938 +0.03125 0.375 0.625 +0.03125 0.375 0.6562 +0.03125 0.375 0.6875 +0.03125 0.375 0.7188 +0.03125 0.375 0.75 +0.03125 0.375 0.7812 +0.03125 0.375 0.8125 +0.03125 0.375 0.8438 +0.03125 0.375 0.875 +0.03125 0.375 0.9062 +0.03125 0.375 0.9375 +0.03125 0.375 0.9688 +0.03125 0.375 1 +0.03125 0.4062 0 +0.03125 0.4062 0.03125 +0.03125 0.4062 0.0625 +0.03125 0.4062 0.09375 +0.03125 0.4062 0.125 +0.03125 0.4062 0.1562 +0.03125 0.4062 0.1875 +0.03125 0.4062 0.2188 +0.03125 0.4062 0.25 +0.03125 0.4062 0.2812 +0.03125 0.4062 0.3125 +0.03125 0.4062 0.3438 +0.03125 0.4062 0.375 +0.03125 0.4062 0.4062 +0.03125 0.4062 0.4375 +0.03125 0.4062 0.4688 +0.03125 0.4062 0.5 +0.03125 0.4062 0.5312 +0.03125 0.4062 0.5625 +0.03125 0.4062 0.5938 +0.03125 0.4062 0.625 +0.03125 0.4062 0.6562 +0.03125 0.4062 0.6875 +0.03125 0.4062 0.7188 +0.03125 0.4062 0.75 +0.03125 0.4062 0.7812 +0.03125 0.4062 0.8125 +0.03125 0.4062 0.8438 +0.03125 0.4062 0.875 +0.03125 0.4062 0.9062 +0.03125 0.4062 0.9375 +0.03125 0.4062 0.9688 +0.03125 0.4062 1 +0.03125 0.4375 0 +0.03125 0.4375 0.03125 +0.03125 0.4375 0.0625 +0.03125 0.4375 0.09375 +0.03125 0.4375 0.125 +0.03125 0.4375 0.1562 +0.03125 0.4375 0.1875 +0.03125 0.4375 0.2188 +0.03125 0.4375 0.25 +0.03125 0.4375 0.2812 +0.03125 0.4375 0.3125 +0.03125 0.4375 0.3438 +0.03125 0.4375 0.375 +0.03125 0.4375 0.4062 +0.03125 0.4375 0.4375 +0.03125 0.4375 0.4688 +0.03125 0.4375 0.5 +0.03125 0.4375 0.5312 +0.03125 0.4375 0.5625 +0.03125 0.4375 0.5938 +0.03125 0.4375 0.625 +0.03125 0.4375 0.6562 +0.03125 0.4375 0.6875 +0.03125 0.4375 0.7188 +0.03125 0.4375 0.75 +0.03125 0.4375 0.7812 +0.03125 0.4375 0.8125 +0.03125 0.4375 0.8438 +0.03125 0.4375 0.875 +0.03125 0.4375 0.9062 +0.03125 0.4375 0.9375 +0.03125 0.4375 0.9688 +0.03125 0.4375 1 +0.03125 0.4688 0 +0.03125 0.4688 0.03125 +0.03125 0.4688 0.0625 +0.03125 0.4688 0.09375 +0.03125 0.4688 0.125 +0.03125 0.4688 0.1562 +0.03125 0.4688 0.1875 +0.03125 0.4688 0.2188 +0.03125 0.4688 0.25 +0.03125 0.4688 0.2812 +0.03125 0.4688 0.3125 +0.03125 0.4688 0.3438 +0.03125 0.4688 0.375 +0.03125 0.4688 0.4062 +0.03125 0.4688 0.4375 +0.03125 0.4688 0.4688 +0.03125 0.4688 0.5 +0.03125 0.4688 0.5312 +0.03125 0.4688 0.5625 +0.03125 0.4688 0.5938 +0.03125 0.4688 0.625 +0.03125 0.4688 0.6562 +0.03125 0.4688 0.6875 +0.03125 0.4688 0.7188 +0.03125 0.4688 0.75 +0.03125 0.4688 0.7812 +0.03125 0.4688 0.8125 +0.03125 0.4688 0.8438 +0.03125 0.4688 0.875 +0.03125 0.4688 0.9062 +0.03125 0.4688 0.9375 +0.03125 0.4688 0.9688 +0.03125 0.4688 1 +0.03125 0.5 0 +0.03125 0.5 0.03125 +0.03125 0.5 0.0625 +0.03125 0.5 0.09375 +0.03125 0.5 0.125 +0.03125 0.5 0.1562 +0.03125 0.5 0.1875 +0.03125 0.5 0.2188 +0.03125 0.5 0.25 +0.03125 0.5 0.2812 +0.03125 0.5 0.3125 +0.03125 0.5 0.3438 +0.03125 0.5 0.375 +0.03125 0.5 0.4062 +0.03125 0.5 0.4375 +0.03125 0.5 0.4688 +0.03125 0.5 0.5 +0.03125 0.5 0.5312 +0.03125 0.5 0.5625 +0.03125 0.5 0.5938 +0.03125 0.5 0.625 +0.03125 0.5 0.6562 +0.03125 0.5 0.6875 +0.03125 0.5 0.7188 +0.03125 0.5 0.75 +0.03125 0.5 0.7812 +0.03125 0.5 0.8125 +0.03125 0.5 0.8438 +0.03125 0.5 0.875 +0.03125 0.5 0.9062 +0.03125 0.5 0.9375 +0.03125 0.5 0.9688 +0.03125 0.5 1 +0.03125 0.5312 0 +0.03125 0.5312 0.03125 +0.03125 0.5312 0.0625 +0.03125 0.5312 0.09375 +0.03125 0.5312 0.125 +0.03125 0.5312 0.1562 +0.03125 0.5312 0.1875 +0.03125 0.5312 0.2188 +0.03125 0.5312 0.25 +0.03125 0.5312 0.2812 +0.03125 0.5312 0.3125 +0.03125 0.5312 0.3438 +0.03125 0.5312 0.375 +0.03125 0.5312 0.4062 +0.03125 0.5312 0.4375 +0.03125 0.5312 0.4688 +0.03125 0.5312 0.5 +0.03125 0.5312 0.5312 +0.03125 0.5312 0.5625 +0.03125 0.5312 0.5938 +0.03125 0.5312 0.625 +0.03125 0.5312 0.6562 +0.03125 0.5312 0.6875 +0.03125 0.5312 0.7188 +0.03125 0.5312 0.75 +0.03125 0.5312 0.7812 +0.03125 0.5312 0.8125 +0.03125 0.5312 0.8438 +0.03125 0.5312 0.875 +0.03125 0.5312 0.9062 +0.03125 0.5312 0.9375 +0.03125 0.5312 0.9688 +0.03125 0.5312 1 +0.03125 0.5625 0 +0.03125 0.5625 0.03125 +0.03125 0.5625 0.0625 +0.03125 0.5625 0.09375 +0.03125 0.5625 0.125 +0.03125 0.5625 0.1562 +0.03125 0.5625 0.1875 +0.03125 0.5625 0.2188 +0.03125 0.5625 0.25 +0.03125 0.5625 0.2812 +0.03125 0.5625 0.3125 +0.03125 0.5625 0.3438 +0.03125 0.5625 0.375 +0.03125 0.5625 0.4062 +0.03125 0.5625 0.4375 +0.03125 0.5625 0.4688 +0.03125 0.5625 0.5 +0.03125 0.5625 0.5312 +0.03125 0.5625 0.5625 +0.03125 0.5625 0.5938 +0.03125 0.5625 0.625 +0.03125 0.5625 0.6562 +0.03125 0.5625 0.6875 +0.03125 0.5625 0.7188 +0.03125 0.5625 0.75 +0.03125 0.5625 0.7812 +0.03125 0.5625 0.8125 +0.03125 0.5625 0.8438 +0.03125 0.5625 0.875 +0.03125 0.5625 0.9062 +0.03125 0.5625 0.9375 +0.03125 0.5625 0.9688 +0.03125 0.5625 1 +0.03125 0.5938 0 +0.03125 0.5938 0.03125 +0.03125 0.5938 0.0625 +0.03125 0.5938 0.09375 +0.03125 0.5938 0.125 +0.03125 0.5938 0.1562 +0.03125 0.5938 0.1875 +0.03125 0.5938 0.2188 +0.03125 0.5938 0.25 +0.03125 0.5938 0.2812 +0.03125 0.5938 0.3125 +0.03125 0.5938 0.3438 +0.03125 0.5938 0.375 +0.03125 0.5938 0.4062 +0.03125 0.5938 0.4375 +0.03125 0.5938 0.4688 +0.03125 0.5938 0.5 +0.03125 0.5938 0.5312 +0.03125 0.5938 0.5625 +0.03125 0.5938 0.5938 +0.03125 0.5938 0.625 +0.03125 0.5938 0.6562 +0.03125 0.5938 0.6875 +0.03125 0.5938 0.7188 +0.03125 0.5938 0.75 +0.03125 0.5938 0.7812 +0.03125 0.5938 0.8125 +0.03125 0.5938 0.8438 +0.03125 0.5938 0.875 +0.03125 0.5938 0.9062 +0.03125 0.5938 0.9375 +0.03125 0.5938 0.9688 +0.03125 0.5938 1 +0.03125 0.625 0 +0.03125 0.625 0.03125 +0.03125 0.625 0.0625 +0.03125 0.625 0.09375 +0.03125 0.625 0.125 +0.03125 0.625 0.1562 +0.03125 0.625 0.1875 +0.03125 0.625 0.2188 +0.03125 0.625 0.25 +0.03125 0.625 0.2812 +0.03125 0.625 0.3125 +0.03125 0.625 0.3438 +0.03125 0.625 0.375 +0.03125 0.625 0.4062 +0.03125 0.625 0.4375 +0.03125 0.625 0.4688 +0.03125 0.625 0.5 +0.03125 0.625 0.5312 +0.03125 0.625 0.5625 +0.03125 0.625 0.5938 +0.03125 0.625 0.625 +0.03125 0.625 0.6562 +0.03125 0.625 0.6875 +0.03125 0.625 0.7188 +0.03125 0.625 0.75 +0.03125 0.625 0.7812 +0.03125 0.625 0.8125 +0.03125 0.625 0.8438 +0.03125 0.625 0.875 +0.03125 0.625 0.9062 +0.03125 0.625 0.9375 +0.03125 0.625 0.9688 +0.03125 0.625 1 +0.03125 0.6562 0 +0.03125 0.6562 0.03125 +0.03125 0.6562 0.0625 +0.03125 0.6562 0.09375 +0.03125 0.6562 0.125 +0.03125 0.6562 0.1562 +0.03125 0.6562 0.1875 +0.03125 0.6562 0.2188 +0.03125 0.6562 0.25 +0.03125 0.6562 0.2812 +0.03125 0.6562 0.3125 +0.03125 0.6562 0.3438 +0.03125 0.6562 0.375 +0.03125 0.6562 0.4062 +0.03125 0.6562 0.4375 +0.03125 0.6562 0.4688 +0.03125 0.6562 0.5 +0.03125 0.6562 0.5312 +0.03125 0.6562 0.5625 +0.03125 0.6562 0.5938 +0.03125 0.6562 0.625 +0.03125 0.6562 0.6562 +0.03125 0.6562 0.6875 +0.03125 0.6562 0.7188 +0.03125 0.6562 0.75 +0.03125 0.6562 0.7812 +0.03125 0.6562 0.8125 +0.03125 0.6562 0.8438 +0.03125 0.6562 0.875 +0.03125 0.6562 0.9062 +0.03125 0.6562 0.9375 +0.03125 0.6562 0.9688 +0.03125 0.6562 1 +0.03125 0.6875 0 +0.03125 0.6875 0.03125 +0.03125 0.6875 0.0625 +0.03125 0.6875 0.09375 +0.03125 0.6875 0.125 +0.03125 0.6875 0.1562 +0.03125 0.6875 0.1875 +0.03125 0.6875 0.2188 +0.03125 0.6875 0.25 +0.03125 0.6875 0.2812 +0.03125 0.6875 0.3125 +0.03125 0.6875 0.3438 +0.03125 0.6875 0.375 +0.03125 0.6875 0.4062 +0.03125 0.6875 0.4375 +0.03125 0.6875 0.4688 +0.03125 0.6875 0.5 +0.03125 0.6875 0.5312 +0.03125 0.6875 0.5625 +0.03125 0.6875 0.5938 +0.03125 0.6875 0.625 +0.03125 0.6875 0.6562 +0.03125 0.6875 0.6875 +0.03125 0.6875 0.7188 +0.03125 0.6875 0.75 +0.03125 0.6875 0.7812 +0.03125 0.6875 0.8125 +0.03125 0.6875 0.8438 +0.03125 0.6875 0.875 +0.03125 0.6875 0.9062 +0.03125 0.6875 0.9375 +0.03125 0.6875 0.9688 +0.03125 0.6875 1 +0.03125 0.7188 0 +0.03125 0.7188 0.03125 +0.03125 0.7188 0.0625 +0.03125 0.7188 0.09375 +0.03125 0.7188 0.125 +0.03125 0.7188 0.1562 +0.03125 0.7188 0.1875 +0.03125 0.7188 0.2188 +0.03125 0.7188 0.25 +0.03125 0.7188 0.2812 +0.03125 0.7188 0.3125 +0.03125 0.7188 0.3438 +0.03125 0.7188 0.375 +0.03125 0.7188 0.4062 +0.03125 0.7188 0.4375 +0.03125 0.7188 0.4688 +0.03125 0.7188 0.5 +0.03125 0.7188 0.5312 +0.03125 0.7188 0.5625 +0.03125 0.7188 0.5938 +0.03125 0.7188 0.625 +0.03125 0.7188 0.6562 +0.03125 0.7188 0.6875 +0.03125 0.7188 0.7188 +0.03125 0.7188 0.75 +0.03125 0.7188 0.7812 +0.03125 0.7188 0.8125 +0.03125 0.7188 0.8438 +0.03125 0.7188 0.875 +0.03125 0.7188 0.9062 +0.03125 0.7188 0.9375 +0.03125 0.7188 0.9688 +0.03125 0.7188 1 +0.03125 0.75 0 +0.03125 0.75 0.03125 +0.03125 0.75 0.0625 +0.03125 0.75 0.09375 +0.03125 0.75 0.125 +0.03125 0.75 0.1562 +0.03125 0.75 0.1875 +0.03125 0.75 0.2188 +0.03125 0.75 0.25 +0.03125 0.75 0.2812 +0.03125 0.75 0.3125 +0.03125 0.75 0.3438 +0.03125 0.75 0.375 +0.03125 0.75 0.4062 +0.03125 0.75 0.4375 +0.03125 0.75 0.4688 +0.03125 0.75 0.5 +0.03125 0.75 0.5312 +0.03125 0.75 0.5625 +0.03125 0.75 0.5938 +0.03125 0.75 0.625 +0.03125 0.75 0.6562 +0.03125 0.75 0.6875 +0.03125 0.75 0.7188 +0.03125 0.75 0.75 +0.03125 0.75 0.7812 +0.03125 0.75 0.8125 +0.03125 0.75 0.8438 +0.03125 0.75 0.875 +0.03125 0.75 0.9062 +0.03125 0.75 0.9375 +0.03125 0.75 0.9688 +0.03125 0.75 1 +0.03125 0.7812 0 +0.03125 0.7812 0.03125 +0.03125 0.7812 0.0625 +0.03125 0.7812 0.09375 +0.03125 0.7812 0.125 +0.03125 0.7812 0.1562 +0.03125 0.7812 0.1875 +0.03125 0.7812 0.2188 +0.03125 0.7812 0.25 +0.03125 0.7812 0.2812 +0.03125 0.7812 0.3125 +0.03125 0.7812 0.3438 +0.03125 0.7812 0.375 +0.03125 0.7812 0.4062 +0.03125 0.7812 0.4375 +0.03125 0.7812 0.4688 +0.03125 0.7812 0.5 +0.03125 0.7812 0.5312 +0.03125 0.7812 0.5625 +0.03125 0.7812 0.5938 +0.03125 0.7812 0.625 +0.03125 0.7812 0.6562 +0.03125 0.7812 0.6875 +0.03125 0.7812 0.7188 +0.03125 0.7812 0.75 +0.03125 0.7812 0.7812 +0.03125 0.7812 0.8125 +0.03125 0.7812 0.8438 +0.03125 0.7812 0.875 +0.03125 0.7812 0.9062 +0.03125 0.7812 0.9375 +0.03125 0.7812 0.9688 +0.03125 0.7812 1 +0.03125 0.8125 0 +0.03125 0.8125 0.03125 +0.03125 0.8125 0.0625 +0.03125 0.8125 0.09375 +0.03125 0.8125 0.125 +0.03125 0.8125 0.1562 +0.03125 0.8125 0.1875 +0.03125 0.8125 0.2188 +0.03125 0.8125 0.25 +0.03125 0.8125 0.2812 +0.03125 0.8125 0.3125 +0.03125 0.8125 0.3438 +0.03125 0.8125 0.375 +0.03125 0.8125 0.4062 +0.03125 0.8125 0.4375 +0.03125 0.8125 0.4688 +0.03125 0.8125 0.5 +0.03125 0.8125 0.5312 +0.03125 0.8125 0.5625 +0.03125 0.8125 0.5938 +0.03125 0.8125 0.625 +0.03125 0.8125 0.6562 +0.03125 0.8125 0.6875 +0.03125 0.8125 0.7188 +0.03125 0.8125 0.75 +0.03125 0.8125 0.7812 +0.03125 0.8125 0.8125 +0.03125 0.8125 0.8438 +0.03125 0.8125 0.875 +0.03125 0.8125 0.9062 +0.03125 0.8125 0.9375 +0.03125 0.8125 0.9688 +0.03125 0.8125 1 +0.03125 0.8438 0 +0.03125 0.8438 0.03125 +0.03125 0.8438 0.0625 +0.03125 0.8438 0.09375 +0.03125 0.8438 0.125 +0.03125 0.8438 0.1562 +0.03125 0.8438 0.1875 +0.03125 0.8438 0.2188 +0.03125 0.8438 0.25 +0.03125 0.8438 0.2812 +0.03125 0.8438 0.3125 +0.03125 0.8438 0.3438 +0.03125 0.8438 0.375 +0.03125 0.8438 0.4062 +0.03125 0.8438 0.4375 +0.03125 0.8438 0.4688 +0.03125 0.8438 0.5 +0.03125 0.8438 0.5312 +0.03125 0.8438 0.5625 +0.03125 0.8438 0.5938 +0.03125 0.8438 0.625 +0.03125 0.8438 0.6562 +0.03125 0.8438 0.6875 +0.03125 0.8438 0.7188 +0.03125 0.8438 0.75 +0.03125 0.8438 0.7812 +0.03125 0.8438 0.8125 +0.03125 0.8438 0.8438 +0.03125 0.8438 0.875 +0.03125 0.8438 0.9062 +0.03125 0.8438 0.9375 +0.03125 0.8438 0.9688 +0.03125 0.8438 1 +0.03125 0.875 0 +0.03125 0.875 0.03125 +0.03125 0.875 0.0625 +0.03125 0.875 0.09375 +0.03125 0.875 0.125 +0.03125 0.875 0.1562 +0.03125 0.875 0.1875 +0.03125 0.875 0.2188 +0.03125 0.875 0.25 +0.03125 0.875 0.2812 +0.03125 0.875 0.3125 +0.03125 0.875 0.3438 +0.03125 0.875 0.375 +0.03125 0.875 0.4062 +0.03125 0.875 0.4375 +0.03125 0.875 0.4688 +0.03125 0.875 0.5 +0.03125 0.875 0.5312 +0.03125 0.875 0.5625 +0.03125 0.875 0.5938 +0.03125 0.875 0.625 +0.03125 0.875 0.6562 +0.03125 0.875 0.6875 +0.03125 0.875 0.7188 +0.03125 0.875 0.75 +0.03125 0.875 0.7812 +0.03125 0.875 0.8125 +0.03125 0.875 0.8438 +0.03125 0.875 0.875 +0.03125 0.875 0.9062 +0.03125 0.875 0.9375 +0.03125 0.875 0.9688 +0.03125 0.875 1 +0.03125 0.9062 0 +0.03125 0.9062 0.03125 +0.03125 0.9062 0.0625 +0.03125 0.9062 0.09375 +0.03125 0.9062 0.125 +0.03125 0.9062 0.1562 +0.03125 0.9062 0.1875 +0.03125 0.9062 0.2188 +0.03125 0.9062 0.25 +0.03125 0.9062 0.2812 +0.03125 0.9062 0.3125 +0.03125 0.9062 0.3438 +0.03125 0.9062 0.375 +0.03125 0.9062 0.4062 +0.03125 0.9062 0.4375 +0.03125 0.9062 0.4688 +0.03125 0.9062 0.5 +0.03125 0.9062 0.5312 +0.03125 0.9062 0.5625 +0.03125 0.9062 0.5938 +0.03125 0.9062 0.625 +0.03125 0.9062 0.6562 +0.03125 0.9062 0.6875 +0.03125 0.9062 0.7188 +0.03125 0.9062 0.75 +0.03125 0.9062 0.7812 +0.03125 0.9062 0.8125 +0.03125 0.9062 0.8438 +0.03125 0.9062 0.875 +0.03125 0.9062 0.9062 +0.03125 0.9062 0.9375 +0.03125 0.9062 0.9688 +0.03125 0.9062 1 +0.03125 0.9375 0 +0.03125 0.9375 0.03125 +0.03125 0.9375 0.0625 +0.03125 0.9375 0.09375 +0.03125 0.9375 0.125 +0.03125 0.9375 0.1562 +0.03125 0.9375 0.1875 +0.03125 0.9375 0.2188 +0.03125 0.9375 0.25 +0.03125 0.9375 0.2812 +0.03125 0.9375 0.3125 +0.03125 0.9375 0.3438 +0.03125 0.9375 0.375 +0.03125 0.9375 0.4062 +0.03125 0.9375 0.4375 +0.03125 0.9375 0.4688 +0.03125 0.9375 0.5 +0.03125 0.9375 0.5312 +0.03125 0.9375 0.5625 +0.03125 0.9375 0.5938 +0.03125 0.9375 0.625 +0.03125 0.9375 0.6562 +0.03125 0.9375 0.6875 +0.03125 0.9375 0.7188 +0.03125 0.9375 0.75 +0.03125 0.9375 0.7812 +0.03125 0.9375 0.8125 +0.03125 0.9375 0.8438 +0.03125 0.9375 0.875 +0.03125 0.9375 0.9062 +0.03125 0.9375 0.9375 +0.03125 0.9375 0.9688 +0.03125 0.9375 1 +0.03125 0.9688 0 +0.03125 0.9688 0.03125 +0.03125 0.9688 0.0625 +0.03125 0.9688 0.09375 +0.03125 0.9688 0.125 +0.03125 0.9688 0.1562 +0.03125 0.9688 0.1875 +0.03125 0.9688 0.2188 +0.03125 0.9688 0.25 +0.03125 0.9688 0.2812 +0.03125 0.9688 0.3125 +0.03125 0.9688 0.3438 +0.03125 0.9688 0.375 +0.03125 0.9688 0.4062 +0.03125 0.9688 0.4375 +0.03125 0.9688 0.4688 +0.03125 0.9688 0.5 +0.03125 0.9688 0.5312 +0.03125 0.9688 0.5625 +0.03125 0.9688 0.5938 +0.03125 0.9688 0.625 +0.03125 0.9688 0.6562 +0.03125 0.9688 0.6875 +0.03125 0.9688 0.7188 +0.03125 0.9688 0.75 +0.03125 0.9688 0.7812 +0.03125 0.9688 0.8125 +0.03125 0.9688 0.8438 +0.03125 0.9688 0.875 +0.03125 0.9688 0.9062 +0.03125 0.9688 0.9375 +0.03125 0.9688 0.9688 +0.03125 0.9688 1 +0.03125 1 0 +0.03125 1 0.03125 +0.03125 1 0.0625 +0.03125 1 0.09375 +0.03125 1 0.125 +0.03125 1 0.1562 +0.03125 1 0.1875 +0.03125 1 0.2188 +0.03125 1 0.25 +0.03125 1 0.2812 +0.03125 1 0.3125 +0.03125 1 0.3438 +0.03125 1 0.375 +0.03125 1 0.4062 +0.03125 1 0.4375 +0.03125 1 0.4688 +0.03125 1 0.5 +0.03125 1 0.5312 +0.03125 1 0.5625 +0.03125 1 0.5938 +0.03125 1 0.625 +0.03125 1 0.6562 +0.03125 1 0.6875 +0.03125 1 0.7188 +0.03125 1 0.75 +0.03125 1 0.7812 +0.03125 1 0.8125 +0.03125 1 0.8438 +0.03125 1 0.875 +0.03125 1 0.9062 +0.03125 1 0.9375 +0.03125 1 0.9688 +0.03125 1 1 +0.0625 0 0 +0.0625 0 0.03125 +0.0625 0 0.0625 +0.0625 0 0.09375 +0.0625 0 0.125 +0.0625 0 0.1562 +0.0625 0 0.1875 +0.0625 0 0.2188 +0.0625 0 0.25 +0.0625 0 0.2812 +0.0625 0 0.3125 +0.0625 0 0.3438 +0.0625 0 0.375 +0.0625 0 0.4062 +0.0625 0 0.4375 +0.0625 0 0.4688 +0.0625 0 0.5 +0.0625 0 0.5312 +0.0625 0 0.5625 +0.0625 0 0.5938 +0.0625 0 0.625 +0.0625 0 0.6562 +0.0625 0 0.6875 +0.0625 0 0.7188 +0.0625 0 0.75 +0.0625 0 0.7812 +0.0625 0 0.8125 +0.0625 0 0.8438 +0.0625 0 0.875 +0.0625 0 0.9062 +0.0625 0 0.9375 +0.0625 0 0.9688 +0.0625 0 1 +0.0625 0.03125 0 +0.0625 0.03125 0.03125 +0.0625 0.03125 0.0625 +0.0625 0.03125 0.09375 +0.0625 0.03125 0.125 +0.0625 0.03125 0.1562 +0.0625 0.03125 0.1875 +0.0625 0.03125 0.2188 +0.0625 0.03125 0.25 +0.0625 0.03125 0.2812 +0.0625 0.03125 0.3125 +0.0625 0.03125 0.3438 +0.0625 0.03125 0.375 +0.0625 0.03125 0.4062 +0.0625 0.03125 0.4375 +0.0625 0.03125 0.4688 +0.0625 0.03125 0.5 +0.0625 0.03125 0.5312 +0.0625 0.03125 0.5625 +0.0625 0.03125 0.5938 +0.0625 0.03125 0.625 +0.0625 0.03125 0.6562 +0.0625 0.03125 0.6875 +0.0625 0.03125 0.7188 +0.0625 0.03125 0.75 +0.0625 0.03125 0.7812 +0.0625 0.03125 0.8125 +0.0625 0.03125 0.8438 +0.0625 0.03125 0.875 +0.0625 0.03125 0.9062 +0.0625 0.03125 0.9375 +0.0625 0.03125 0.9688 +0.0625 0.03125 1 +0.0625 0.0625 0 +0.0625 0.0625 0.03125 +0.0625 0.0625 0.0625 +0.0625 0.0625 0.09375 +0.0625 0.0625 0.125 +0.0625 0.0625 0.1562 +0.0625 0.0625 0.1875 +0.0625 0.0625 0.2188 +0.0625 0.0625 0.25 +0.0625 0.0625 0.2812 +0.0625 0.0625 0.3125 +0.0625 0.0625 0.3438 +0.0625 0.0625 0.375 +0.0625 0.0625 0.4062 +0.0625 0.0625 0.4375 +0.0625 0.0625 0.4688 +0.0625 0.0625 0.5 +0.0625 0.0625 0.5312 +0.0625 0.0625 0.5625 +0.0625 0.0625 0.5938 +0.0625 0.0625 0.625 +0.0625 0.0625 0.6562 +0.0625 0.0625 0.6875 +0.0625 0.0625 0.7188 +0.0625 0.0625 0.75 +0.0625 0.0625 0.7812 +0.0625 0.0625 0.8125 +0.0625 0.0625 0.8438 +0.0625 0.0625 0.875 +0.0625 0.0625 0.9062 +0.0625 0.0625 0.9375 +0.0625 0.0625 0.9688 +0.0625 0.0625 1 +0.0625 0.09375 0 +0.0625 0.09375 0.03125 +0.0625 0.09375 0.0625 +0.0625 0.09375 0.09375 +0.0625 0.09375 0.125 +0.0625 0.09375 0.1562 +0.0625 0.09375 0.1875 +0.0625 0.09375 0.2188 +0.0625 0.09375 0.25 +0.0625 0.09375 0.2812 +0.0625 0.09375 0.3125 +0.0625 0.09375 0.3438 +0.0625 0.09375 0.375 +0.0625 0.09375 0.4062 +0.0625 0.09375 0.4375 +0.0625 0.09375 0.4688 +0.0625 0.09375 0.5 +0.0625 0.09375 0.5312 +0.0625 0.09375 0.5625 +0.0625 0.09375 0.5938 +0.0625 0.09375 0.625 +0.0625 0.09375 0.6562 +0.0625 0.09375 0.6875 +0.0625 0.09375 0.7188 +0.0625 0.09375 0.75 +0.0625 0.09375 0.7812 +0.0625 0.09375 0.8125 +0.0625 0.09375 0.8438 +0.0625 0.09375 0.875 +0.0625 0.09375 0.9062 +0.0625 0.09375 0.9375 +0.0625 0.09375 0.9688 +0.0625 0.09375 1 +0.0625 0.125 0 +0.0625 0.125 0.03125 +0.0625 0.125 0.0625 +0.0625 0.125 0.09375 +0.0625 0.125 0.125 +0.0625 0.125 0.1562 +0.0625 0.125 0.1875 +0.0625 0.125 0.2188 +0.0625 0.125 0.25 +0.0625 0.125 0.2812 +0.0625 0.125 0.3125 +0.0625 0.125 0.3438 +0.0625 0.125 0.375 +0.0625 0.125 0.4062 +0.0625 0.125 0.4375 +0.0625 0.125 0.4688 +0.0625 0.125 0.5 +0.0625 0.125 0.5312 +0.0625 0.125 0.5625 +0.0625 0.125 0.5938 +0.0625 0.125 0.625 +0.0625 0.125 0.6562 +0.0625 0.125 0.6875 +0.0625 0.125 0.7188 +0.0625 0.125 0.75 +0.0625 0.125 0.7812 +0.0625 0.125 0.8125 +0.0625 0.125 0.8438 +0.0625 0.125 0.875 +0.0625 0.125 0.9062 +0.0625 0.125 0.9375 +0.0625 0.125 0.9688 +0.0625 0.125 1 +0.0625 0.1562 0 +0.0625 0.1562 0.03125 +0.0625 0.1562 0.0625 +0.0625 0.1562 0.09375 +0.0625 0.1562 0.125 +0.0625 0.1562 0.1562 +0.0625 0.1562 0.1875 +0.0625 0.1562 0.2188 +0.0625 0.1562 0.25 +0.0625 0.1562 0.2812 +0.0625 0.1562 0.3125 +0.0625 0.1562 0.3438 +0.0625 0.1562 0.375 +0.0625 0.1562 0.4062 +0.0625 0.1562 0.4375 +0.0625 0.1562 0.4688 +0.0625 0.1562 0.5 +0.0625 0.1562 0.5312 +0.0625 0.1562 0.5625 +0.0625 0.1562 0.5938 +0.0625 0.1562 0.625 +0.0625 0.1562 0.6562 +0.0625 0.1562 0.6875 +0.0625 0.1562 0.7188 +0.0625 0.1562 0.75 +0.0625 0.1562 0.7812 +0.0625 0.1562 0.8125 +0.0625 0.1562 0.8438 +0.0625 0.1562 0.875 +0.0625 0.1562 0.9062 +0.0625 0.1562 0.9375 +0.0625 0.1562 0.9688 +0.0625 0.1562 1 +0.0625 0.1875 0 +0.0625 0.1875 0.03125 +0.0625 0.1875 0.0625 +0.0625 0.1875 0.09375 +0.0625 0.1875 0.125 +0.0625 0.1875 0.1562 +0.0625 0.1875 0.1875 +0.0625 0.1875 0.2188 +0.0625 0.1875 0.25 +0.0625 0.1875 0.2812 +0.0625 0.1875 0.3125 +0.0625 0.1875 0.3438 +0.0625 0.1875 0.375 +0.0625 0.1875 0.4062 +0.0625 0.1875 0.4375 +0.0625 0.1875 0.4688 +0.0625 0.1875 0.5 +0.0625 0.1875 0.5312 +0.0625 0.1875 0.5625 +0.0625 0.1875 0.5938 +0.0625 0.1875 0.625 +0.0625 0.1875 0.6562 +0.0625 0.1875 0.6875 +0.0625 0.1875 0.7188 +0.0625 0.1875 0.75 +0.0625 0.1875 0.7812 +0.0625 0.1875 0.8125 +0.0625 0.1875 0.8438 +0.0625 0.1875 0.875 +0.0625 0.1875 0.9062 +0.0625 0.1875 0.9375 +0.0625 0.1875 0.9688 +0.0625 0.1875 1 +0.0625 0.2188 0 +0.0625 0.2188 0.03125 +0.0625 0.2188 0.0625 +0.0625 0.2188 0.09375 +0.0625 0.2188 0.125 +0.0625 0.2188 0.1562 +0.0625 0.2188 0.1875 +0.0625 0.2188 0.2188 +0.0625 0.2188 0.25 +0.0625 0.2188 0.2812 +0.0625 0.2188 0.3125 +0.0625 0.2188 0.3438 +0.0625 0.2188 0.375 +0.0625 0.2188 0.4062 +0.0625 0.2188 0.4375 +0.0625 0.2188 0.4688 +0.0625 0.2188 0.5 +0.0625 0.2188 0.5312 +0.0625 0.2188 0.5625 +0.0625 0.2188 0.5938 +0.0625 0.2188 0.625 +0.0625 0.2188 0.6562 +0.0625 0.2188 0.6875 +0.0625 0.2188 0.7188 +0.0625 0.2188 0.75 +0.0625 0.2188 0.7812 +0.0625 0.2188 0.8125 +0.0625 0.2188 0.8438 +0.0625 0.2188 0.875 +0.0625 0.2188 0.9062 +0.0625 0.2188 0.9375 +0.0625 0.2188 0.9688 +0.0625 0.2188 1 +0.0625 0.25 0 +0.0625 0.25 0.03125 +0.0625 0.25 0.0625 +0.0625 0.25 0.09375 +0.0625 0.25 0.125 +0.0625 0.25 0.1562 +0.0625 0.25 0.1875 +0.0625 0.25 0.2188 +0.0625 0.25 0.25 +0.0625 0.25 0.2812 +0.0625 0.25 0.3125 +0.0625 0.25 0.3438 +0.0625 0.25 0.375 +0.0625 0.25 0.4062 +0.0625 0.25 0.4375 +0.0625 0.25 0.4688 +0.0625 0.25 0.5 +0.0625 0.25 0.5312 +0.0625 0.25 0.5625 +0.0625 0.25 0.5938 +0.0625 0.25 0.625 +0.0625 0.25 0.6562 +0.0625 0.25 0.6875 +0.0625 0.25 0.7188 +0.0625 0.25 0.75 +0.0625 0.25 0.7812 +0.0625 0.25 0.8125 +0.0625 0.25 0.8438 +0.0625 0.25 0.875 +0.0625 0.25 0.9062 +0.0625 0.25 0.9375 +0.0625 0.25 0.9688 +0.0625 0.25 1 +0.0625 0.2812 0 +0.0625 0.2812 0.03125 +0.0625 0.2812 0.0625 +0.0625 0.2812 0.09375 +0.0625 0.2812 0.125 +0.0625 0.2812 0.1562 +0.0625 0.2812 0.1875 +0.0625 0.2812 0.2188 +0.0625 0.2812 0.25 +0.0625 0.2812 0.2812 +0.0625 0.2812 0.3125 +0.0625 0.2812 0.3438 +0.0625 0.2812 0.375 +0.0625 0.2812 0.4062 +0.0625 0.2812 0.4375 +0.0625 0.2812 0.4688 +0.0625 0.2812 0.5 +0.0625 0.2812 0.5312 +0.0625 0.2812 0.5625 +0.0625 0.2812 0.5938 +0.0625 0.2812 0.625 +0.0625 0.2812 0.6562 +0.0625 0.2812 0.6875 +0.0625 0.2812 0.7188 +0.0625 0.2812 0.75 +0.0625 0.2812 0.7812 +0.0625 0.2812 0.8125 +0.0625 0.2812 0.8438 +0.0625 0.2812 0.875 +0.0625 0.2812 0.9062 +0.0625 0.2812 0.9375 +0.0625 0.2812 0.9688 +0.0625 0.2812 1 +0.0625 0.3125 0 +0.0625 0.3125 0.03125 +0.0625 0.3125 0.0625 +0.0625 0.3125 0.09375 +0.0625 0.3125 0.125 +0.0625 0.3125 0.1562 +0.0625 0.3125 0.1875 +0.0625 0.3125 0.2188 +0.0625 0.3125 0.25 +0.0625 0.3125 0.2812 +0.0625 0.3125 0.3125 +0.0625 0.3125 0.3438 +0.0625 0.3125 0.375 +0.0625 0.3125 0.4062 +0.0625 0.3125 0.4375 +0.0625 0.3125 0.4688 +0.0625 0.3125 0.5 +0.0625 0.3125 0.5312 +0.0625 0.3125 0.5625 +0.0625 0.3125 0.5938 +0.0625 0.3125 0.625 +0.0625 0.3125 0.6562 +0.0625 0.3125 0.6875 +0.0625 0.3125 0.7188 +0.0625 0.3125 0.75 +0.0625 0.3125 0.7812 +0.0625 0.3125 0.8125 +0.0625 0.3125 0.8438 +0.0625 0.3125 0.875 +0.0625 0.3125 0.9062 +0.0625 0.3125 0.9375 +0.0625 0.3125 0.9688 +0.0625 0.3125 1 +0.0625 0.3438 0 +0.0625 0.3438 0.03125 +0.0625 0.3438 0.0625 +0.0625 0.3438 0.09375 +0.0625 0.3438 0.125 +0.0625 0.3438 0.1562 +0.0625 0.3438 0.1875 +0.0625 0.3438 0.2188 +0.0625 0.3438 0.25 +0.0625 0.3438 0.2812 +0.0625 0.3438 0.3125 +0.0625 0.3438 0.3438 +0.0625 0.3438 0.375 +0.0625 0.3438 0.4062 +0.0625 0.3438 0.4375 +0.0625 0.3438 0.4688 +0.0625 0.3438 0.5 +0.0625 0.3438 0.5312 +0.0625 0.3438 0.5625 +0.0625 0.3438 0.5938 +0.0625 0.3438 0.625 +0.0625 0.3438 0.6562 +0.0625 0.3438 0.6875 +0.0625 0.3438 0.7188 +0.0625 0.3438 0.75 +0.0625 0.3438 0.7812 +0.0625 0.3438 0.8125 +0.0625 0.3438 0.8438 +0.0625 0.3438 0.875 +0.0625 0.3438 0.9062 +0.0625 0.3438 0.9375 +0.0625 0.3438 0.9688 +0.0625 0.3438 1 +0.0625 0.375 0 +0.0625 0.375 0.03125 +0.0625 0.375 0.0625 +0.0625 0.375 0.09375 +0.0625 0.375 0.125 +0.0625 0.375 0.1562 +0.0625 0.375 0.1875 +0.0625 0.375 0.2188 +0.0625 0.375 0.25 +0.0625 0.375 0.2812 +0.0625 0.375 0.3125 +0.0625 0.375 0.3438 +0.0625 0.375 0.375 +0.0625 0.375 0.4062 +0.0625 0.375 0.4375 +0.0625 0.375 0.4688 +0.0625 0.375 0.5 +0.0625 0.375 0.5312 +0.0625 0.375 0.5625 +0.0625 0.375 0.5938 +0.0625 0.375 0.625 +0.0625 0.375 0.6562 +0.0625 0.375 0.6875 +0.0625 0.375 0.7188 +0.0625 0.375 0.75 +0.0625 0.375 0.7812 +0.0625 0.375 0.8125 +0.0625 0.375 0.8438 +0.0625 0.375 0.875 +0.0625 0.375 0.9062 +0.0625 0.375 0.9375 +0.0625 0.375 0.9688 +0.0625 0.375 1 +0.0625 0.4062 0 +0.0625 0.4062 0.03125 +0.0625 0.4062 0.0625 +0.0625 0.4062 0.09375 +0.0625 0.4062 0.125 +0.0625 0.4062 0.1562 +0.0625 0.4062 0.1875 +0.0625 0.4062 0.2188 +0.0625 0.4062 0.25 +0.0625 0.4062 0.2812 +0.0625 0.4062 0.3125 +0.0625 0.4062 0.3438 +0.0625 0.4062 0.375 +0.0625 0.4062 0.4062 +0.0625 0.4062 0.4375 +0.0625 0.4062 0.4688 +0.0625 0.4062 0.5 +0.0625 0.4062 0.5312 +0.0625 0.4062 0.5625 +0.0625 0.4062 0.5938 +0.0625 0.4062 0.625 +0.0625 0.4062 0.6562 +0.0625 0.4062 0.6875 +0.0625 0.4062 0.7188 +0.0625 0.4062 0.75 +0.0625 0.4062 0.7812 +0.0625 0.4062 0.8125 +0.0625 0.4062 0.8438 +0.0625 0.4062 0.875 +0.0625 0.4062 0.9062 +0.0625 0.4062 0.9375 +0.0625 0.4062 0.9688 +0.0625 0.4062 1 +0.0625 0.4375 0 +0.0625 0.4375 0.03125 +0.0625 0.4375 0.0625 +0.0625 0.4375 0.09375 +0.0625 0.4375 0.125 +0.0625 0.4375 0.1562 +0.0625 0.4375 0.1875 +0.0625 0.4375 0.2188 +0.0625 0.4375 0.25 +0.0625 0.4375 0.2812 +0.0625 0.4375 0.3125 +0.0625 0.4375 0.3438 +0.0625 0.4375 0.375 +0.0625 0.4375 0.4062 +0.0625 0.4375 0.4375 +0.0625 0.4375 0.4688 +0.0625 0.4375 0.5 +0.0625 0.4375 0.5312 +0.0625 0.4375 0.5625 +0.0625 0.4375 0.5938 +0.0625 0.4375 0.625 +0.0625 0.4375 0.6562 +0.0625 0.4375 0.6875 +0.0625 0.4375 0.7188 +0.0625 0.4375 0.75 +0.0625 0.4375 0.7812 +0.0625 0.4375 0.8125 +0.0625 0.4375 0.8438 +0.0625 0.4375 0.875 +0.0625 0.4375 0.9062 +0.0625 0.4375 0.9375 +0.0625 0.4375 0.9688 +0.0625 0.4375 1 +0.0625 0.4688 0 +0.0625 0.4688 0.03125 +0.0625 0.4688 0.0625 +0.0625 0.4688 0.09375 +0.0625 0.4688 0.125 +0.0625 0.4688 0.1562 +0.0625 0.4688 0.1875 +0.0625 0.4688 0.2188 +0.0625 0.4688 0.25 +0.0625 0.4688 0.2812 +0.0625 0.4688 0.3125 +0.0625 0.4688 0.3438 +0.0625 0.4688 0.375 +0.0625 0.4688 0.4062 +0.0625 0.4688 0.4375 +0.0625 0.4688 0.4688 +0.0625 0.4688 0.5 +0.0625 0.4688 0.5312 +0.0625 0.4688 0.5625 +0.0625 0.4688 0.5938 +0.0625 0.4688 0.625 +0.0625 0.4688 0.6562 +0.0625 0.4688 0.6875 +0.0625 0.4688 0.7188 +0.0625 0.4688 0.75 +0.0625 0.4688 0.7812 +0.0625 0.4688 0.8125 +0.0625 0.4688 0.8438 +0.0625 0.4688 0.875 +0.0625 0.4688 0.9062 +0.0625 0.4688 0.9375 +0.0625 0.4688 0.9688 +0.0625 0.4688 1 +0.0625 0.5 0 +0.0625 0.5 0.03125 +0.0625 0.5 0.0625 +0.0625 0.5 0.09375 +0.0625 0.5 0.125 +0.0625 0.5 0.1562 +0.0625 0.5 0.1875 +0.0625 0.5 0.2188 +0.0625 0.5 0.25 +0.0625 0.5 0.2812 +0.0625 0.5 0.3125 +0.0625 0.5 0.3438 +0.0625 0.5 0.375 +0.0625 0.5 0.4062 +0.0625 0.5 0.4375 +0.0625 0.5 0.4688 +0.0625 0.5 0.5 +0.0625 0.5 0.5312 +0.0625 0.5 0.5625 +0.0625 0.5 0.5938 +0.0625 0.5 0.625 +0.0625 0.5 0.6562 +0.0625 0.5 0.6875 +0.0625 0.5 0.7188 +0.0625 0.5 0.75 +0.0625 0.5 0.7812 +0.0625 0.5 0.8125 +0.0625 0.5 0.8438 +0.0625 0.5 0.875 +0.0625 0.5 0.9062 +0.0625 0.5 0.9375 +0.0625 0.5 0.9688 +0.0625 0.5 1 +0.0625 0.5312 0 +0.0625 0.5312 0.03125 +0.0625 0.5312 0.0625 +0.0625 0.5312 0.09375 +0.0625 0.5312 0.125 +0.0625 0.5312 0.1562 +0.0625 0.5312 0.1875 +0.0625 0.5312 0.2188 +0.0625 0.5312 0.25 +0.0625 0.5312 0.2812 +0.0625 0.5312 0.3125 +0.0625 0.5312 0.3438 +0.0625 0.5312 0.375 +0.0625 0.5312 0.4062 +0.0625 0.5312 0.4375 +0.0625 0.5312 0.4688 +0.0625 0.5312 0.5 +0.0625 0.5312 0.5312 +0.0625 0.5312 0.5625 +0.0625 0.5312 0.5938 +0.0625 0.5312 0.625 +0.0625 0.5312 0.6562 +0.0625 0.5312 0.6875 +0.0625 0.5312 0.7188 +0.0625 0.5312 0.75 +0.0625 0.5312 0.7812 +0.0625 0.5312 0.8125 +0.0625 0.5312 0.8438 +0.0625 0.5312 0.875 +0.0625 0.5312 0.9062 +0.0625 0.5312 0.9375 +0.0625 0.5312 0.9688 +0.0625 0.5312 1 +0.0625 0.5625 0 +0.0625 0.5625 0.03125 +0.0625 0.5625 0.0625 +0.0625 0.5625 0.09375 +0.0625 0.5625 0.125 +0.0625 0.5625 0.1562 +0.0625 0.5625 0.1875 +0.0625 0.5625 0.2188 +0.0625 0.5625 0.25 +0.0625 0.5625 0.2812 +0.0625 0.5625 0.3125 +0.0625 0.5625 0.3438 +0.0625 0.5625 0.375 +0.0625 0.5625 0.4062 +0.0625 0.5625 0.4375 +0.0625 0.5625 0.4688 +0.0625 0.5625 0.5 +0.0625 0.5625 0.5312 +0.0625 0.5625 0.5625 +0.0625 0.5625 0.5938 +0.0625 0.5625 0.625 +0.0625 0.5625 0.6562 +0.0625 0.5625 0.6875 +0.0625 0.5625 0.7188 +0.0625 0.5625 0.75 +0.0625 0.5625 0.7812 +0.0625 0.5625 0.8125 +0.0625 0.5625 0.8438 +0.0625 0.5625 0.875 +0.0625 0.5625 0.9062 +0.0625 0.5625 0.9375 +0.0625 0.5625 0.9688 +0.0625 0.5625 1 +0.0625 0.5938 0 +0.0625 0.5938 0.03125 +0.0625 0.5938 0.0625 +0.0625 0.5938 0.09375 +0.0625 0.5938 0.125 +0.0625 0.5938 0.1562 +0.0625 0.5938 0.1875 +0.0625 0.5938 0.2188 +0.0625 0.5938 0.25 +0.0625 0.5938 0.2812 +0.0625 0.5938 0.3125 +0.0625 0.5938 0.3438 +0.0625 0.5938 0.375 +0.0625 0.5938 0.4062 +0.0625 0.5938 0.4375 +0.0625 0.5938 0.4688 +0.0625 0.5938 0.5 +0.0625 0.5938 0.5312 +0.0625 0.5938 0.5625 +0.0625 0.5938 0.5938 +0.0625 0.5938 0.625 +0.0625 0.5938 0.6562 +0.0625 0.5938 0.6875 +0.0625 0.5938 0.7188 +0.0625 0.5938 0.75 +0.0625 0.5938 0.7812 +0.0625 0.5938 0.8125 +0.0625 0.5938 0.8438 +0.0625 0.5938 0.875 +0.0625 0.5938 0.9062 +0.0625 0.5938 0.9375 +0.0625 0.5938 0.9688 +0.0625 0.5938 1 +0.0625 0.625 0 +0.0625 0.625 0.03125 +0.0625 0.625 0.0625 +0.0625 0.625 0.09375 +0.0625 0.625 0.125 +0.0625 0.625 0.1562 +0.0625 0.625 0.1875 +0.0625 0.625 0.2188 +0.0625 0.625 0.25 +0.0625 0.625 0.2812 +0.0625 0.625 0.3125 +0.0625 0.625 0.3438 +0.0625 0.625 0.375 +0.0625 0.625 0.4062 +0.0625 0.625 0.4375 +0.0625 0.625 0.4688 +0.0625 0.625 0.5 +0.0625 0.625 0.5312 +0.0625 0.625 0.5625 +0.0625 0.625 0.5938 +0.0625 0.625 0.625 +0.0625 0.625 0.6562 +0.0625 0.625 0.6875 +0.0625 0.625 0.7188 +0.0625 0.625 0.75 +0.0625 0.625 0.7812 +0.0625 0.625 0.8125 +0.0625 0.625 0.8438 +0.0625 0.625 0.875 +0.0625 0.625 0.9062 +0.0625 0.625 0.9375 +0.0625 0.625 0.9688 +0.0625 0.625 1 +0.0625 0.6562 0 +0.0625 0.6562 0.03125 +0.0625 0.6562 0.0625 +0.0625 0.6562 0.09375 +0.0625 0.6562 0.125 +0.0625 0.6562 0.1562 +0.0625 0.6562 0.1875 +0.0625 0.6562 0.2188 +0.0625 0.6562 0.25 +0.0625 0.6562 0.2812 +0.0625 0.6562 0.3125 +0.0625 0.6562 0.3438 +0.0625 0.6562 0.375 +0.0625 0.6562 0.4062 +0.0625 0.6562 0.4375 +0.0625 0.6562 0.4688 +0.0625 0.6562 0.5 +0.0625 0.6562 0.5312 +0.0625 0.6562 0.5625 +0.0625 0.6562 0.5938 +0.0625 0.6562 0.625 +0.0625 0.6562 0.6562 +0.0625 0.6562 0.6875 +0.0625 0.6562 0.7188 +0.0625 0.6562 0.75 +0.0625 0.6562 0.7812 +0.0625 0.6562 0.8125 +0.0625 0.6562 0.8438 +0.0625 0.6562 0.875 +0.0625 0.6562 0.9062 +0.0625 0.6562 0.9375 +0.0625 0.6562 0.9688 +0.0625 0.6562 1 +0.0625 0.6875 0 +0.0625 0.6875 0.03125 +0.0625 0.6875 0.0625 +0.0625 0.6875 0.09375 +0.0625 0.6875 0.125 +0.0625 0.6875 0.1562 +0.0625 0.6875 0.1875 +0.0625 0.6875 0.2188 +0.0625 0.6875 0.25 +0.0625 0.6875 0.2812 +0.0625 0.6875 0.3125 +0.0625 0.6875 0.3438 +0.0625 0.6875 0.375 +0.0625 0.6875 0.4062 +0.0625 0.6875 0.4375 +0.0625 0.6875 0.4688 +0.0625 0.6875 0.5 +0.0625 0.6875 0.5312 +0.0625 0.6875 0.5625 +0.0625 0.6875 0.5938 +0.0625 0.6875 0.625 +0.0625 0.6875 0.6562 +0.0625 0.6875 0.6875 +0.0625 0.6875 0.7188 +0.0625 0.6875 0.75 +0.0625 0.6875 0.7812 +0.0625 0.6875 0.8125 +0.0625 0.6875 0.8438 +0.0625 0.6875 0.875 +0.0625 0.6875 0.9062 +0.0625 0.6875 0.9375 +0.0625 0.6875 0.9688 +0.0625 0.6875 1 +0.0625 0.7188 0 +0.0625 0.7188 0.03125 +0.0625 0.7188 0.0625 +0.0625 0.7188 0.09375 +0.0625 0.7188 0.125 +0.0625 0.7188 0.1562 +0.0625 0.7188 0.1875 +0.0625 0.7188 0.2188 +0.0625 0.7188 0.25 +0.0625 0.7188 0.2812 +0.0625 0.7188 0.3125 +0.0625 0.7188 0.3438 +0.0625 0.7188 0.375 +0.0625 0.7188 0.4062 +0.0625 0.7188 0.4375 +0.0625 0.7188 0.4688 +0.0625 0.7188 0.5 +0.0625 0.7188 0.5312 +0.0625 0.7188 0.5625 +0.0625 0.7188 0.5938 +0.0625 0.7188 0.625 +0.0625 0.7188 0.6562 +0.0625 0.7188 0.6875 +0.0625 0.7188 0.7188 +0.0625 0.7188 0.75 +0.0625 0.7188 0.7812 +0.0625 0.7188 0.8125 +0.0625 0.7188 0.8438 +0.0625 0.7188 0.875 +0.0625 0.7188 0.9062 +0.0625 0.7188 0.9375 +0.0625 0.7188 0.9688 +0.0625 0.7188 1 +0.0625 0.75 0 +0.0625 0.75 0.03125 +0.0625 0.75 0.0625 +0.0625 0.75 0.09375 +0.0625 0.75 0.125 +0.0625 0.75 0.1562 +0.0625 0.75 0.1875 +0.0625 0.75 0.2188 +0.0625 0.75 0.25 +0.0625 0.75 0.2812 +0.0625 0.75 0.3125 +0.0625 0.75 0.3438 +0.0625 0.75 0.375 +0.0625 0.75 0.4062 +0.0625 0.75 0.4375 +0.0625 0.75 0.4688 +0.0625 0.75 0.5 +0.0625 0.75 0.5312 +0.0625 0.75 0.5625 +0.0625 0.75 0.5938 +0.0625 0.75 0.625 +0.0625 0.75 0.6562 +0.0625 0.75 0.6875 +0.0625 0.75 0.7188 +0.0625 0.75 0.75 +0.0625 0.75 0.7812 +0.0625 0.75 0.8125 +0.0625 0.75 0.8438 +0.0625 0.75 0.875 +0.0625 0.75 0.9062 +0.0625 0.75 0.9375 +0.0625 0.75 0.9688 +0.0625 0.75 1 +0.0625 0.7812 0 +0.0625 0.7812 0.03125 +0.0625 0.7812 0.0625 +0.0625 0.7812 0.09375 +0.0625 0.7812 0.125 +0.0625 0.7812 0.1562 +0.0625 0.7812 0.1875 +0.0625 0.7812 0.2188 +0.0625 0.7812 0.25 +0.0625 0.7812 0.2812 +0.0625 0.7812 0.3125 +0.0625 0.7812 0.3438 +0.0625 0.7812 0.375 +0.0625 0.7812 0.4062 +0.0625 0.7812 0.4375 +0.0625 0.7812 0.4688 +0.0625 0.7812 0.5 +0.0625 0.7812 0.5312 +0.0625 0.7812 0.5625 +0.0625 0.7812 0.5938 +0.0625 0.7812 0.625 +0.0625 0.7812 0.6562 +0.0625 0.7812 0.6875 +0.0625 0.7812 0.7188 +0.0625 0.7812 0.75 +0.0625 0.7812 0.7812 +0.0625 0.7812 0.8125 +0.0625 0.7812 0.8438 +0.0625 0.7812 0.875 +0.0625 0.7812 0.9062 +0.0625 0.7812 0.9375 +0.0625 0.7812 0.9688 +0.0625 0.7812 1 +0.0625 0.8125 0 +0.0625 0.8125 0.03125 +0.0625 0.8125 0.0625 +0.0625 0.8125 0.09375 +0.0625 0.8125 0.125 +0.0625 0.8125 0.1562 +0.0625 0.8125 0.1875 +0.0625 0.8125 0.2188 +0.0625 0.8125 0.25 +0.0625 0.8125 0.2812 +0.0625 0.8125 0.3125 +0.0625 0.8125 0.3438 +0.0625 0.8125 0.375 +0.0625 0.8125 0.4062 +0.0625 0.8125 0.4375 +0.0625 0.8125 0.4688 +0.0625 0.8125 0.5 +0.0625 0.8125 0.5312 +0.0625 0.8125 0.5625 +0.0625 0.8125 0.5938 +0.0625 0.8125 0.625 +0.0625 0.8125 0.6562 +0.0625 0.8125 0.6875 +0.0625 0.8125 0.7188 +0.0625 0.8125 0.75 +0.0625 0.8125 0.7812 +0.0625 0.8125 0.8125 +0.0625 0.8125 0.8438 +0.0625 0.8125 0.875 +0.0625 0.8125 0.9062 +0.0625 0.8125 0.9375 +0.0625 0.8125 0.9688 +0.0625 0.8125 1 +0.0625 0.8438 0 +0.0625 0.8438 0.03125 +0.0625 0.8438 0.0625 +0.0625 0.8438 0.09375 +0.0625 0.8438 0.125 +0.0625 0.8438 0.1562 +0.0625 0.8438 0.1875 +0.0625 0.8438 0.2188 +0.0625 0.8438 0.25 +0.0625 0.8438 0.2812 +0.0625 0.8438 0.3125 +0.0625 0.8438 0.3438 +0.0625 0.8438 0.375 +0.0625 0.8438 0.4062 +0.0625 0.8438 0.4375 +0.0625 0.8438 0.4688 +0.0625 0.8438 0.5 +0.0625 0.8438 0.5312 +0.0625 0.8438 0.5625 +0.0625 0.8438 0.5938 +0.0625 0.8438 0.625 +0.0625 0.8438 0.6562 +0.0625 0.8438 0.6875 +0.0625 0.8438 0.7188 +0.0625 0.8438 0.75 +0.0625 0.8438 0.7812 +0.0625 0.8438 0.8125 +0.0625 0.8438 0.8438 +0.0625 0.8438 0.875 +0.0625 0.8438 0.9062 +0.0625 0.8438 0.9375 +0.0625 0.8438 0.9688 +0.0625 0.8438 1 +0.0625 0.875 0 +0.0625 0.875 0.03125 +0.0625 0.875 0.0625 +0.0625 0.875 0.09375 +0.0625 0.875 0.125 +0.0625 0.875 0.1562 +0.0625 0.875 0.1875 +0.0625 0.875 0.2188 +0.0625 0.875 0.25 +0.0625 0.875 0.2812 +0.0625 0.875 0.3125 +0.0625 0.875 0.3438 +0.0625 0.875 0.375 +0.0625 0.875 0.4062 +0.0625 0.875 0.4375 +0.0625 0.875 0.4688 +0.0625 0.875 0.5 +0.0625 0.875 0.5312 +0.0625 0.875 0.5625 +0.0625 0.875 0.5938 +0.0625 0.875 0.625 +0.0625 0.875 0.6562 +0.0625 0.875 0.6875 +0.0625 0.875 0.7188 +0.0625 0.875 0.75 +0.0625 0.875 0.7812 +0.0625 0.875 0.8125 +0.0625 0.875 0.8438 +0.0625 0.875 0.875 +0.0625 0.875 0.9062 +0.0625 0.875 0.9375 +0.0625 0.875 0.9688 +0.0625 0.875 1 +0.0625 0.9062 0 +0.0625 0.9062 0.03125 +0.0625 0.9062 0.0625 +0.0625 0.9062 0.09375 +0.0625 0.9062 0.125 +0.0625 0.9062 0.1562 +0.0625 0.9062 0.1875 +0.0625 0.9062 0.2188 +0.0625 0.9062 0.25 +0.0625 0.9062 0.2812 +0.0625 0.9062 0.3125 +0.0625 0.9062 0.3438 +0.0625 0.9062 0.375 +0.0625 0.9062 0.4062 +0.0625 0.9062 0.4375 +0.0625 0.9062 0.4688 +0.0625 0.9062 0.5 +0.0625 0.9062 0.5312 +0.0625 0.9062 0.5625 +0.0625 0.9062 0.5938 +0.0625 0.9062 0.625 +0.0625 0.9062 0.6562 +0.0625 0.9062 0.6875 +0.0625 0.9062 0.7188 +0.0625 0.9062 0.75 +0.0625 0.9062 0.7812 +0.0625 0.9062 0.8125 +0.0625 0.9062 0.8438 +0.0625 0.9062 0.875 +0.0625 0.9062 0.9062 +0.0625 0.9062 0.9375 +0.0625 0.9062 0.9688 +0.0625 0.9062 1 +0.0625 0.9375 0 +0.0625 0.9375 0.03125 +0.0625 0.9375 0.0625 +0.0625 0.9375 0.09375 +0.0625 0.9375 0.125 +0.0625 0.9375 0.1562 +0.0625 0.9375 0.1875 +0.0625 0.9375 0.2188 +0.0625 0.9375 0.25 +0.0625 0.9375 0.2812 +0.0625 0.9375 0.3125 +0.0625 0.9375 0.3438 +0.0625 0.9375 0.375 +0.0625 0.9375 0.4062 +0.0625 0.9375 0.4375 +0.0625 0.9375 0.4688 +0.0625 0.9375 0.5 +0.0625 0.9375 0.5312 +0.0625 0.9375 0.5625 +0.0625 0.9375 0.5938 +0.0625 0.9375 0.625 +0.0625 0.9375 0.6562 +0.0625 0.9375 0.6875 +0.0625 0.9375 0.7188 +0.0625 0.9375 0.75 +0.0625 0.9375 0.7812 +0.0625 0.9375 0.8125 +0.0625 0.9375 0.8438 +0.0625 0.9375 0.875 +0.0625 0.9375 0.9062 +0.0625 0.9375 0.9375 +0.0625 0.9375 0.9688 +0.0625 0.9375 1 +0.0625 0.9688 0 +0.0625 0.9688 0.03125 +0.0625 0.9688 0.0625 +0.0625 0.9688 0.09375 +0.0625 0.9688 0.125 +0.0625 0.9688 0.1562 +0.0625 0.9688 0.1875 +0.0625 0.9688 0.2188 +0.0625 0.9688 0.25 +0.0625 0.9688 0.2812 +0.0625 0.9688 0.3125 +0.0625 0.9688 0.3438 +0.0625 0.9688 0.375 +0.0625 0.9688 0.4062 +0.0625 0.9688 0.4375 +0.0625 0.9688 0.4688 +0.0625 0.9688 0.5 +0.0625 0.9688 0.5312 +0.0625 0.9688 0.5625 +0.0625 0.9688 0.5938 +0.0625 0.9688 0.625 +0.0625 0.9688 0.6562 +0.0625 0.9688 0.6875 +0.0625 0.9688 0.7188 +0.0625 0.9688 0.75 +0.0625 0.9688 0.7812 +0.0625 0.9688 0.8125 +0.0625 0.9688 0.8438 +0.0625 0.9688 0.875 +0.0625 0.9688 0.9062 +0.0625 0.9688 0.9375 +0.0625 0.9688 0.9688 +0.0625 0.9688 1 +0.0625 1 0 +0.0625 1 0.03125 +0.0625 1 0.0625 +0.0625 1 0.09375 +0.0625 1 0.125 +0.0625 1 0.1562 +0.0625 1 0.1875 +0.0625 1 0.2188 +0.0625 1 0.25 +0.0625 1 0.2812 +0.0625 1 0.3125 +0.0625 1 0.3438 +0.0625 1 0.375 +0.0625 1 0.4062 +0.0625 1 0.4375 +0.0625 1 0.4688 +0.0625 1 0.5 +0.0625 1 0.5312 +0.0625 1 0.5625 +0.0625 1 0.5938 +0.0625 1 0.625 +0.0625 1 0.6562 +0.0625 1 0.6875 +0.0625 1 0.7188 +0.0625 1 0.75 +0.0625 1 0.7812 +0.0625 1 0.8125 +0.0625 1 0.8438 +0.0625 1 0.875 +0.0625 1 0.9062 +0.0625 1 0.9375 +0.0625 1 0.9688 +0.0625 1 1 +0.09375 0 0 +0.09375 0 0.03125 +0.09375 0 0.0625 +0.09375 0 0.09375 +0.09375 0 0.125 +0.09375 0 0.1562 +0.09375 0 0.1875 +0.09375 0 0.2188 +0.09375 0 0.25 +0.09375 0 0.2812 +0.09375 0 0.3125 +0.09375 0 0.3438 +0.09375 0 0.375 +0.09375 0 0.4062 +0.09375 0 0.4375 +0.09375 0 0.4688 +0.09375 0 0.5 +0.09375 0 0.5312 +0.09375 0 0.5625 +0.09375 0 0.5938 +0.09375 0 0.625 +0.09375 0 0.6562 +0.09375 0 0.6875 +0.09375 0 0.7188 +0.09375 0 0.75 +0.09375 0 0.7812 +0.09375 0 0.8125 +0.09375 0 0.8438 +0.09375 0 0.875 +0.09375 0 0.9062 +0.09375 0 0.9375 +0.09375 0 0.9688 +0.09375 0 1 +0.09375 0.03125 0 +0.09375 0.03125 0.03125 +0.09375 0.03125 0.0625 +0.09375 0.03125 0.09375 +0.09375 0.03125 0.125 +0.09375 0.03125 0.1562 +0.09375 0.03125 0.1875 +0.09375 0.03125 0.2188 +0.09375 0.03125 0.25 +0.09375 0.03125 0.2812 +0.09375 0.03125 0.3125 +0.09375 0.03125 0.3438 +0.09375 0.03125 0.375 +0.09375 0.03125 0.4062 +0.09375 0.03125 0.4375 +0.09375 0.03125 0.4688 +0.09375 0.03125 0.5 +0.09375 0.03125 0.5312 +0.09375 0.03125 0.5625 +0.09375 0.03125 0.5938 +0.09375 0.03125 0.625 +0.09375 0.03125 0.6562 +0.09375 0.03125 0.6875 +0.09375 0.03125 0.7188 +0.09375 0.03125 0.75 +0.09375 0.03125 0.7812 +0.09375 0.03125 0.8125 +0.09375 0.03125 0.8438 +0.09375 0.03125 0.875 +0.09375 0.03125 0.9062 +0.09375 0.03125 0.9375 +0.09375 0.03125 0.9688 +0.09375 0.03125 1 +0.09375 0.0625 0 +0.09375 0.0625 0.03125 +0.09375 0.0625 0.0625 +0.09375 0.0625 0.09375 +0.09375 0.0625 0.125 +0.09375 0.0625 0.1562 +0.09375 0.0625 0.1875 +0.09375 0.0625 0.2188 +0.09375 0.0625 0.25 +0.09375 0.0625 0.2812 +0.09375 0.0625 0.3125 +0.09375 0.0625 0.3438 +0.09375 0.0625 0.375 +0.09375 0.0625 0.4062 +0.09375 0.0625 0.4375 +0.09375 0.0625 0.4688 +0.09375 0.0625 0.5 +0.09375 0.0625 0.5312 +0.09375 0.0625 0.5625 +0.09375 0.0625 0.5938 +0.09375 0.0625 0.625 +0.09375 0.0625 0.6562 +0.09375 0.0625 0.6875 +0.09375 0.0625 0.7188 +0.09375 0.0625 0.75 +0.09375 0.0625 0.7812 +0.09375 0.0625 0.8125 +0.09375 0.0625 0.8438 +0.09375 0.0625 0.875 +0.09375 0.0625 0.9062 +0.09375 0.0625 0.9375 +0.09375 0.0625 0.9688 +0.09375 0.0625 1 +0.09375 0.09375 0 +0.09375 0.09375 0.03125 +0.09375 0.09375 0.0625 +0.09375 0.09375 0.09375 +0.09375 0.09375 0.125 +0.09375 0.09375 0.1562 +0.09375 0.09375 0.1875 +0.09375 0.09375 0.2188 +0.09375 0.09375 0.25 +0.09375 0.09375 0.2812 +0.09375 0.09375 0.3125 +0.09375 0.09375 0.3438 +0.09375 0.09375 0.375 +0.09375 0.09375 0.4062 +0.09375 0.09375 0.4375 +0.09375 0.09375 0.4688 +0.09375 0.09375 0.5 +0.09375 0.09375 0.5312 +0.09375 0.09375 0.5625 +0.09375 0.09375 0.5938 +0.09375 0.09375 0.625 +0.09375 0.09375 0.6562 +0.09375 0.09375 0.6875 +0.09375 0.09375 0.7188 +0.09375 0.09375 0.75 +0.09375 0.09375 0.7812 +0.09375 0.09375 0.8125 +0.09375 0.09375 0.8438 +0.09375 0.09375 0.875 +0.09375 0.09375 0.9062 +0.09375 0.09375 0.9375 +0.09375 0.09375 0.9688 +0.09375 0.09375 1 +0.09375 0.125 0 +0.09375 0.125 0.03125 +0.09375 0.125 0.0625 +0.09375 0.125 0.09375 +0.09375 0.125 0.125 +0.09375 0.125 0.1562 +0.09375 0.125 0.1875 +0.09375 0.125 0.2188 +0.09375 0.125 0.25 +0.09375 0.125 0.2812 +0.09375 0.125 0.3125 +0.09375 0.125 0.3438 +0.09375 0.125 0.375 +0.09375 0.125 0.4062 +0.09375 0.125 0.4375 +0.09375 0.125 0.4688 +0.09375 0.125 0.5 +0.09375 0.125 0.5312 +0.09375 0.125 0.5625 +0.09375 0.125 0.5938 +0.09375 0.125 0.625 +0.09375 0.125 0.6562 +0.09375 0.125 0.6875 +0.09375 0.125 0.7188 +0.09375 0.125 0.75 +0.09375 0.125 0.7812 +0.09375 0.125 0.8125 +0.09375 0.125 0.8438 +0.09375 0.125 0.875 +0.09375 0.125 0.9062 +0.09375 0.125 0.9375 +0.09375 0.125 0.9688 +0.09375 0.125 1 +0.09375 0.1562 0 +0.09375 0.1562 0.03125 +0.09375 0.1562 0.0625 +0.09375 0.1562 0.09375 +0.09375 0.1562 0.125 +0.09375 0.1562 0.1562 +0.09375 0.1562 0.1875 +0.09375 0.1562 0.2188 +0.09375 0.1562 0.25 +0.09375 0.1562 0.2812 +0.09375 0.1562 0.3125 +0.09375 0.1562 0.3438 +0.09375 0.1562 0.375 +0.09375 0.1562 0.4062 +0.09375 0.1562 0.4375 +0.09375 0.1562 0.4688 +0.09375 0.1562 0.5 +0.09375 0.1562 0.5312 +0.09375 0.1562 0.5625 +0.09375 0.1562 0.5938 +0.09375 0.1562 0.625 +0.09375 0.1562 0.6562 +0.09375 0.1562 0.6875 +0.09375 0.1562 0.7188 +0.09375 0.1562 0.75 +0.09375 0.1562 0.7812 +0.09375 0.1562 0.8125 +0.09375 0.1562 0.8438 +0.09375 0.1562 0.875 +0.09375 0.1562 0.9062 +0.09375 0.1562 0.9375 +0.09375 0.1562 0.9688 +0.09375 0.1562 1 +0.09375 0.1875 0 +0.09375 0.1875 0.03125 +0.09375 0.1875 0.0625 +0.09375 0.1875 0.09375 +0.09375 0.1875 0.125 +0.09375 0.1875 0.1562 +0.09375 0.1875 0.1875 +0.09375 0.1875 0.2188 +0.09375 0.1875 0.25 +0.09375 0.1875 0.2812 +0.09375 0.1875 0.3125 +0.09375 0.1875 0.3438 +0.09375 0.1875 0.375 +0.09375 0.1875 0.4062 +0.09375 0.1875 0.4375 +0.09375 0.1875 0.4688 +0.09375 0.1875 0.5 +0.09375 0.1875 0.5312 +0.09375 0.1875 0.5625 +0.09375 0.1875 0.5938 +0.09375 0.1875 0.625 +0.09375 0.1875 0.6562 +0.09375 0.1875 0.6875 +0.09375 0.1875 0.7188 +0.09375 0.1875 0.75 +0.09375 0.1875 0.7812 +0.09375 0.1875 0.8125 +0.09375 0.1875 0.8438 +0.09375 0.1875 0.875 +0.09375 0.1875 0.9062 +0.09375 0.1875 0.9375 +0.09375 0.1875 0.9688 +0.09375 0.1875 1 +0.09375 0.2188 0 +0.09375 0.2188 0.03125 +0.09375 0.2188 0.0625 +0.09375 0.2188 0.09375 +0.09375 0.2188 0.125 +0.09375 0.2188 0.1562 +0.09375 0.2188 0.1875 +0.09375 0.2188 0.2188 +0.09375 0.2188 0.25 +0.09375 0.2188 0.2812 +0.09375 0.2188 0.3125 +0.09375 0.2188 0.3438 +0.09375 0.2188 0.375 +0.09375 0.2188 0.4062 +0.09375 0.2188 0.4375 +0.09375 0.2188 0.4688 +0.09375 0.2188 0.5 +0.09375 0.2188 0.5312 +0.09375 0.2188 0.5625 +0.09375 0.2188 0.5938 +0.09375 0.2188 0.625 +0.09375 0.2188 0.6562 +0.09375 0.2188 0.6875 +0.09375 0.2188 0.7188 +0.09375 0.2188 0.75 +0.09375 0.2188 0.7812 +0.09375 0.2188 0.8125 +0.09375 0.2188 0.8438 +0.09375 0.2188 0.875 +0.09375 0.2188 0.9062 +0.09375 0.2188 0.9375 +0.09375 0.2188 0.9688 +0.09375 0.2188 1 +0.09375 0.25 0 +0.09375 0.25 0.03125 +0.09375 0.25 0.0625 +0.09375 0.25 0.09375 +0.09375 0.25 0.125 +0.09375 0.25 0.1562 +0.09375 0.25 0.1875 +0.09375 0.25 0.2188 +0.09375 0.25 0.25 +0.09375 0.25 0.2812 +0.09375 0.25 0.3125 +0.09375 0.25 0.3438 +0.09375 0.25 0.375 +0.09375 0.25 0.4062 +0.09375 0.25 0.4375 +0.09375 0.25 0.4688 +0.09375 0.25 0.5 +0.09375 0.25 0.5312 +0.09375 0.25 0.5625 +0.09375 0.25 0.5938 +0.09375 0.25 0.625 +0.09375 0.25 0.6562 +0.09375 0.25 0.6875 +0.09375 0.25 0.7188 +0.09375 0.25 0.75 +0.09375 0.25 0.7812 +0.09375 0.25 0.8125 +0.09375 0.25 0.8438 +0.09375 0.25 0.875 +0.09375 0.25 0.9062 +0.09375 0.25 0.9375 +0.09375 0.25 0.9688 +0.09375 0.25 1 +0.09375 0.2812 0 +0.09375 0.2812 0.03125 +0.09375 0.2812 0.0625 +0.09375 0.2812 0.09375 +0.09375 0.2812 0.125 +0.09375 0.2812 0.1562 +0.09375 0.2812 0.1875 +0.09375 0.2812 0.2188 +0.09375 0.2812 0.25 +0.09375 0.2812 0.2812 +0.09375 0.2812 0.3125 +0.09375 0.2812 0.3438 +0.09375 0.2812 0.375 +0.09375 0.2812 0.4062 +0.09375 0.2812 0.4375 +0.09375 0.2812 0.4688 +0.09375 0.2812 0.5 +0.09375 0.2812 0.5312 +0.09375 0.2812 0.5625 +0.09375 0.2812 0.5938 +0.09375 0.2812 0.625 +0.09375 0.2812 0.6562 +0.09375 0.2812 0.6875 +0.09375 0.2812 0.7188 +0.09375 0.2812 0.75 +0.09375 0.2812 0.7812 +0.09375 0.2812 0.8125 +0.09375 0.2812 0.8438 +0.09375 0.2812 0.875 +0.09375 0.2812 0.9062 +0.09375 0.2812 0.9375 +0.09375 0.2812 0.9688 +0.09375 0.2812 1 +0.09375 0.3125 0 +0.09375 0.3125 0.03125 +0.09375 0.3125 0.0625 +0.09375 0.3125 0.09375 +0.09375 0.3125 0.125 +0.09375 0.3125 0.1562 +0.09375 0.3125 0.1875 +0.09375 0.3125 0.2188 +0.09375 0.3125 0.25 +0.09375 0.3125 0.2812 +0.09375 0.3125 0.3125 +0.09375 0.3125 0.3438 +0.09375 0.3125 0.375 +0.09375 0.3125 0.4062 +0.09375 0.3125 0.4375 +0.09375 0.3125 0.4688 +0.09375 0.3125 0.5 +0.09375 0.3125 0.5312 +0.09375 0.3125 0.5625 +0.09375 0.3125 0.5938 +0.09375 0.3125 0.625 +0.09375 0.3125 0.6562 +0.09375 0.3125 0.6875 +0.09375 0.3125 0.7188 +0.09375 0.3125 0.75 +0.09375 0.3125 0.7812 +0.09375 0.3125 0.8125 +0.09375 0.3125 0.8438 +0.09375 0.3125 0.875 +0.09375 0.3125 0.9062 +0.09375 0.3125 0.9375 +0.09375 0.3125 0.9688 +0.09375 0.3125 1 +0.09375 0.3438 0 +0.09375 0.3438 0.03125 +0.09375 0.3438 0.0625 +0.09375 0.3438 0.09375 +0.09375 0.3438 0.125 +0.09375 0.3438 0.1562 +0.09375 0.3438 0.1875 +0.09375 0.3438 0.2188 +0.09375 0.3438 0.25 +0.09375 0.3438 0.2812 +0.09375 0.3438 0.3125 +0.09375 0.3438 0.3438 +0.09375 0.3438 0.375 +0.09375 0.3438 0.4062 +0.09375 0.3438 0.4375 +0.09375 0.3438 0.4688 +0.09375 0.3438 0.5 +0.09375 0.3438 0.5312 +0.09375 0.3438 0.5625 +0.09375 0.3438 0.5938 +0.09375 0.3438 0.625 +0.09375 0.3438 0.6562 +0.09375 0.3438 0.6875 +0.09375 0.3438 0.7188 +0.09375 0.3438 0.75 +0.09375 0.3438 0.7812 +0.09375 0.3438 0.8125 +0.09375 0.3438 0.8438 +0.09375 0.3438 0.875 +0.09375 0.3438 0.9062 +0.09375 0.3438 0.9375 +0.09375 0.3438 0.9688 +0.09375 0.3438 1 +0.09375 0.375 0 +0.09375 0.375 0.03125 +0.09375 0.375 0.0625 +0.09375 0.375 0.09375 +0.09375 0.375 0.125 +0.09375 0.375 0.1562 +0.09375 0.375 0.1875 +0.09375 0.375 0.2188 +0.09375 0.375 0.25 +0.09375 0.375 0.2812 +0.09375 0.375 0.3125 +0.09375 0.375 0.3438 +0.09375 0.375 0.375 +0.09375 0.375 0.4062 +0.09375 0.375 0.4375 +0.09375 0.375 0.4688 +0.09375 0.375 0.5 +0.09375 0.375 0.5312 +0.09375 0.375 0.5625 +0.09375 0.375 0.5938 +0.09375 0.375 0.625 +0.09375 0.375 0.6562 +0.09375 0.375 0.6875 +0.09375 0.375 0.7188 +0.09375 0.375 0.75 +0.09375 0.375 0.7812 +0.09375 0.375 0.8125 +0.09375 0.375 0.8438 +0.09375 0.375 0.875 +0.09375 0.375 0.9062 +0.09375 0.375 0.9375 +0.09375 0.375 0.9688 +0.09375 0.375 1 +0.09375 0.4062 0 +0.09375 0.4062 0.03125 +0.09375 0.4062 0.0625 +0.09375 0.4062 0.09375 +0.09375 0.4062 0.125 +0.09375 0.4062 0.1562 +0.09375 0.4062 0.1875 +0.09375 0.4062 0.2188 +0.09375 0.4062 0.25 +0.09375 0.4062 0.2812 +0.09375 0.4062 0.3125 +0.09375 0.4062 0.3438 +0.09375 0.4062 0.375 +0.09375 0.4062 0.4062 +0.09375 0.4062 0.4375 +0.09375 0.4062 0.4688 +0.09375 0.4062 0.5 +0.09375 0.4062 0.5312 +0.09375 0.4062 0.5625 +0.09375 0.4062 0.5938 +0.09375 0.4062 0.625 +0.09375 0.4062 0.6562 +0.09375 0.4062 0.6875 +0.09375 0.4062 0.7188 +0.09375 0.4062 0.75 +0.09375 0.4062 0.7812 +0.09375 0.4062 0.8125 +0.09375 0.4062 0.8438 +0.09375 0.4062 0.875 +0.09375 0.4062 0.9062 +0.09375 0.4062 0.9375 +0.09375 0.4062 0.9688 +0.09375 0.4062 1 +0.09375 0.4375 0 +0.09375 0.4375 0.03125 +0.09375 0.4375 0.0625 +0.09375 0.4375 0.09375 +0.09375 0.4375 0.125 +0.09375 0.4375 0.1562 +0.09375 0.4375 0.1875 +0.09375 0.4375 0.2188 +0.09375 0.4375 0.25 +0.09375 0.4375 0.2812 +0.09375 0.4375 0.3125 +0.09375 0.4375 0.3438 +0.09375 0.4375 0.375 +0.09375 0.4375 0.4062 +0.09375 0.4375 0.4375 +0.09375 0.4375 0.4688 +0.09375 0.4375 0.5 +0.09375 0.4375 0.5312 +0.09375 0.4375 0.5625 +0.09375 0.4375 0.5938 +0.09375 0.4375 0.625 +0.09375 0.4375 0.6562 +0.09375 0.4375 0.6875 +0.09375 0.4375 0.7188 +0.09375 0.4375 0.75 +0.09375 0.4375 0.7812 +0.09375 0.4375 0.8125 +0.09375 0.4375 0.8438 +0.09375 0.4375 0.875 +0.09375 0.4375 0.9062 +0.09375 0.4375 0.9375 +0.09375 0.4375 0.9688 +0.09375 0.4375 1 +0.09375 0.4688 0 +0.09375 0.4688 0.03125 +0.09375 0.4688 0.0625 +0.09375 0.4688 0.09375 +0.09375 0.4688 0.125 +0.09375 0.4688 0.1562 +0.09375 0.4688 0.1875 +0.09375 0.4688 0.2188 +0.09375 0.4688 0.25 +0.09375 0.4688 0.2812 +0.09375 0.4688 0.3125 +0.09375 0.4688 0.3438 +0.09375 0.4688 0.375 +0.09375 0.4688 0.4062 +0.09375 0.4688 0.4375 +0.09375 0.4688 0.4688 +0.09375 0.4688 0.5 +0.09375 0.4688 0.5312 +0.09375 0.4688 0.5625 +0.09375 0.4688 0.5938 +0.09375 0.4688 0.625 +0.09375 0.4688 0.6562 +0.09375 0.4688 0.6875 +0.09375 0.4688 0.7188 +0.09375 0.4688 0.75 +0.09375 0.4688 0.7812 +0.09375 0.4688 0.8125 +0.09375 0.4688 0.8438 +0.09375 0.4688 0.875 +0.09375 0.4688 0.9062 +0.09375 0.4688 0.9375 +0.09375 0.4688 0.9688 +0.09375 0.4688 1 +0.09375 0.5 0 +0.09375 0.5 0.03125 +0.09375 0.5 0.0625 +0.09375 0.5 0.09375 +0.09375 0.5 0.125 +0.09375 0.5 0.1562 +0.09375 0.5 0.1875 +0.09375 0.5 0.2188 +0.09375 0.5 0.25 +0.09375 0.5 0.2812 +0.09375 0.5 0.3125 +0.09375 0.5 0.3438 +0.09375 0.5 0.375 +0.09375 0.5 0.4062 +0.09375 0.5 0.4375 +0.09375 0.5 0.4688 +0.09375 0.5 0.5 +0.09375 0.5 0.5312 +0.09375 0.5 0.5625 +0.09375 0.5 0.5938 +0.09375 0.5 0.625 +0.09375 0.5 0.6562 +0.09375 0.5 0.6875 +0.09375 0.5 0.7188 +0.09375 0.5 0.75 +0.09375 0.5 0.7812 +0.09375 0.5 0.8125 +0.09375 0.5 0.8438 +0.09375 0.5 0.875 +0.09375 0.5 0.9062 +0.09375 0.5 0.9375 +0.09375 0.5 0.9688 +0.09375 0.5 1 +0.09375 0.5312 0 +0.09375 0.5312 0.03125 +0.09375 0.5312 0.0625 +0.09375 0.5312 0.09375 +0.09375 0.5312 0.125 +0.09375 0.5312 0.1562 +0.09375 0.5312 0.1875 +0.09375 0.5312 0.2188 +0.09375 0.5312 0.25 +0.09375 0.5312 0.2812 +0.09375 0.5312 0.3125 +0.09375 0.5312 0.3438 +0.09375 0.5312 0.375 +0.09375 0.5312 0.4062 +0.09375 0.5312 0.4375 +0.09375 0.5312 0.4688 +0.09375 0.5312 0.5 +0.09375 0.5312 0.5312 +0.09375 0.5312 0.5625 +0.09375 0.5312 0.5938 +0.09375 0.5312 0.625 +0.09375 0.5312 0.6562 +0.09375 0.5312 0.6875 +0.09375 0.5312 0.7188 +0.09375 0.5312 0.75 +0.09375 0.5312 0.7812 +0.09375 0.5312 0.8125 +0.09375 0.5312 0.8438 +0.09375 0.5312 0.875 +0.09375 0.5312 0.9062 +0.09375 0.5312 0.9375 +0.09375 0.5312 0.9688 +0.09375 0.5312 1 +0.09375 0.5625 0 +0.09375 0.5625 0.03125 +0.09375 0.5625 0.0625 +0.09375 0.5625 0.09375 +0.09375 0.5625 0.125 +0.09375 0.5625 0.1562 +0.09375 0.5625 0.1875 +0.09375 0.5625 0.2188 +0.09375 0.5625 0.25 +0.09375 0.5625 0.2812 +0.09375 0.5625 0.3125 +0.09375 0.5625 0.3438 +0.09375 0.5625 0.375 +0.09375 0.5625 0.4062 +0.09375 0.5625 0.4375 +0.09375 0.5625 0.4688 +0.09375 0.5625 0.5 +0.09375 0.5625 0.5312 +0.09375 0.5625 0.5625 +0.09375 0.5625 0.5938 +0.09375 0.5625 0.625 +0.09375 0.5625 0.6562 +0.09375 0.5625 0.6875 +0.09375 0.5625 0.7188 +0.09375 0.5625 0.75 +0.09375 0.5625 0.7812 +0.09375 0.5625 0.8125 +0.09375 0.5625 0.8438 +0.09375 0.5625 0.875 +0.09375 0.5625 0.9062 +0.09375 0.5625 0.9375 +0.09375 0.5625 0.9688 +0.09375 0.5625 1 +0.09375 0.5938 0 +0.09375 0.5938 0.03125 +0.09375 0.5938 0.0625 +0.09375 0.5938 0.09375 +0.09375 0.5938 0.125 +0.09375 0.5938 0.1562 +0.09375 0.5938 0.1875 +0.09375 0.5938 0.2188 +0.09375 0.5938 0.25 +0.09375 0.5938 0.2812 +0.09375 0.5938 0.3125 +0.09375 0.5938 0.3438 +0.09375 0.5938 0.375 +0.09375 0.5938 0.4062 +0.09375 0.5938 0.4375 +0.09375 0.5938 0.4688 +0.09375 0.5938 0.5 +0.09375 0.5938 0.5312 +0.09375 0.5938 0.5625 +0.09375 0.5938 0.5938 +0.09375 0.5938 0.625 +0.09375 0.5938 0.6562 +0.09375 0.5938 0.6875 +0.09375 0.5938 0.7188 +0.09375 0.5938 0.75 +0.09375 0.5938 0.7812 +0.09375 0.5938 0.8125 +0.09375 0.5938 0.8438 +0.09375 0.5938 0.875 +0.09375 0.5938 0.9062 +0.09375 0.5938 0.9375 +0.09375 0.5938 0.9688 +0.09375 0.5938 1 +0.09375 0.625 0 +0.09375 0.625 0.03125 +0.09375 0.625 0.0625 +0.09375 0.625 0.09375 +0.09375 0.625 0.125 +0.09375 0.625 0.1562 +0.09375 0.625 0.1875 +0.09375 0.625 0.2188 +0.09375 0.625 0.25 +0.09375 0.625 0.2812 +0.09375 0.625 0.3125 +0.09375 0.625 0.3438 +0.09375 0.625 0.375 +0.09375 0.625 0.4062 +0.09375 0.625 0.4375 +0.09375 0.625 0.4688 +0.09375 0.625 0.5 +0.09375 0.625 0.5312 +0.09375 0.625 0.5625 +0.09375 0.625 0.5938 +0.09375 0.625 0.625 +0.09375 0.625 0.6562 +0.09375 0.625 0.6875 +0.09375 0.625 0.7188 +0.09375 0.625 0.75 +0.09375 0.625 0.7812 +0.09375 0.625 0.8125 +0.09375 0.625 0.8438 +0.09375 0.625 0.875 +0.09375 0.625 0.9062 +0.09375 0.625 0.9375 +0.09375 0.625 0.9688 +0.09375 0.625 1 +0.09375 0.6562 0 +0.09375 0.6562 0.03125 +0.09375 0.6562 0.0625 +0.09375 0.6562 0.09375 +0.09375 0.6562 0.125 +0.09375 0.6562 0.1562 +0.09375 0.6562 0.1875 +0.09375 0.6562 0.2188 +0.09375 0.6562 0.25 +0.09375 0.6562 0.2812 +0.09375 0.6562 0.3125 +0.09375 0.6562 0.3438 +0.09375 0.6562 0.375 +0.09375 0.6562 0.4062 +0.09375 0.6562 0.4375 +0.09375 0.6562 0.4688 +0.09375 0.6562 0.5 +0.09375 0.6562 0.5312 +0.09375 0.6562 0.5625 +0.09375 0.6562 0.5938 +0.09375 0.6562 0.625 +0.09375 0.6562 0.6562 +0.09375 0.6562 0.6875 +0.09375 0.6562 0.7188 +0.09375 0.6562 0.75 +0.09375 0.6562 0.7812 +0.09375 0.6562 0.8125 +0.09375 0.6562 0.8438 +0.09375 0.6562 0.875 +0.09375 0.6562 0.9062 +0.09375 0.6562 0.9375 +0.09375 0.6562 0.9688 +0.09375 0.6562 1 +0.09375 0.6875 0 +0.09375 0.6875 0.03125 +0.09375 0.6875 0.0625 +0.09375 0.6875 0.09375 +0.09375 0.6875 0.125 +0.09375 0.6875 0.1562 +0.09375 0.6875 0.1875 +0.09375 0.6875 0.2188 +0.09375 0.6875 0.25 +0.09375 0.6875 0.2812 +0.09375 0.6875 0.3125 +0.09375 0.6875 0.3438 +0.09375 0.6875 0.375 +0.09375 0.6875 0.4062 +0.09375 0.6875 0.4375 +0.09375 0.6875 0.4688 +0.09375 0.6875 0.5 +0.09375 0.6875 0.5312 +0.09375 0.6875 0.5625 +0.09375 0.6875 0.5938 +0.09375 0.6875 0.625 +0.09375 0.6875 0.6562 +0.09375 0.6875 0.6875 +0.09375 0.6875 0.7188 +0.09375 0.6875 0.75 +0.09375 0.6875 0.7812 +0.09375 0.6875 0.8125 +0.09375 0.6875 0.8438 +0.09375 0.6875 0.875 +0.09375 0.6875 0.9062 +0.09375 0.6875 0.9375 +0.09375 0.6875 0.9688 +0.09375 0.6875 1 +0.09375 0.7188 0 +0.09375 0.7188 0.03125 +0.09375 0.7188 0.0625 +0.09375 0.7188 0.09375 +0.09375 0.7188 0.125 +0.09375 0.7188 0.1562 +0.09375 0.7188 0.1875 +0.09375 0.7188 0.2188 +0.09375 0.7188 0.25 +0.09375 0.7188 0.2812 +0.09375 0.7188 0.3125 +0.09375 0.7188 0.3438 +0.09375 0.7188 0.375 +0.09375 0.7188 0.4062 +0.09375 0.7188 0.4375 +0.09375 0.7188 0.4688 +0.09375 0.7188 0.5 +0.09375 0.7188 0.5312 +0.09375 0.7188 0.5625 +0.09375 0.7188 0.5938 +0.09375 0.7188 0.625 +0.09375 0.7188 0.6562 +0.09375 0.7188 0.6875 +0.09375 0.7188 0.7188 +0.09375 0.7188 0.75 +0.09375 0.7188 0.7812 +0.09375 0.7188 0.8125 +0.09375 0.7188 0.8438 +0.09375 0.7188 0.875 +0.09375 0.7188 0.9062 +0.09375 0.7188 0.9375 +0.09375 0.7188 0.9688 +0.09375 0.7188 1 +0.09375 0.75 0 +0.09375 0.75 0.03125 +0.09375 0.75 0.0625 +0.09375 0.75 0.09375 +0.09375 0.75 0.125 +0.09375 0.75 0.1562 +0.09375 0.75 0.1875 +0.09375 0.75 0.2188 +0.09375 0.75 0.25 +0.09375 0.75 0.2812 +0.09375 0.75 0.3125 +0.09375 0.75 0.3438 +0.09375 0.75 0.375 +0.09375 0.75 0.4062 +0.09375 0.75 0.4375 +0.09375 0.75 0.4688 +0.09375 0.75 0.5 +0.09375 0.75 0.5312 +0.09375 0.75 0.5625 +0.09375 0.75 0.5938 +0.09375 0.75 0.625 +0.09375 0.75 0.6562 +0.09375 0.75 0.6875 +0.09375 0.75 0.7188 +0.09375 0.75 0.75 +0.09375 0.75 0.7812 +0.09375 0.75 0.8125 +0.09375 0.75 0.8438 +0.09375 0.75 0.875 +0.09375 0.75 0.9062 +0.09375 0.75 0.9375 +0.09375 0.75 0.9688 +0.09375 0.75 1 +0.09375 0.7812 0 +0.09375 0.7812 0.03125 +0.09375 0.7812 0.0625 +0.09375 0.7812 0.09375 +0.09375 0.7812 0.125 +0.09375 0.7812 0.1562 +0.09375 0.7812 0.1875 +0.09375 0.7812 0.2188 +0.09375 0.7812 0.25 +0.09375 0.7812 0.2812 +0.09375 0.7812 0.3125 +0.09375 0.7812 0.3438 +0.09375 0.7812 0.375 +0.09375 0.7812 0.4062 +0.09375 0.7812 0.4375 +0.09375 0.7812 0.4688 +0.09375 0.7812 0.5 +0.09375 0.7812 0.5312 +0.09375 0.7812 0.5625 +0.09375 0.7812 0.5938 +0.09375 0.7812 0.625 +0.09375 0.7812 0.6562 +0.09375 0.7812 0.6875 +0.09375 0.7812 0.7188 +0.09375 0.7812 0.75 +0.09375 0.7812 0.7812 +0.09375 0.7812 0.8125 +0.09375 0.7812 0.8438 +0.09375 0.7812 0.875 +0.09375 0.7812 0.9062 +0.09375 0.7812 0.9375 +0.09375 0.7812 0.9688 +0.09375 0.7812 1 +0.09375 0.8125 0 +0.09375 0.8125 0.03125 +0.09375 0.8125 0.0625 +0.09375 0.8125 0.09375 +0.09375 0.8125 0.125 +0.09375 0.8125 0.1562 +0.09375 0.8125 0.1875 +0.09375 0.8125 0.2188 +0.09375 0.8125 0.25 +0.09375 0.8125 0.2812 +0.09375 0.8125 0.3125 +0.09375 0.8125 0.3438 +0.09375 0.8125 0.375 +0.09375 0.8125 0.4062 +0.09375 0.8125 0.4375 +0.09375 0.8125 0.4688 +0.09375 0.8125 0.5 +0.09375 0.8125 0.5312 +0.09375 0.8125 0.5625 +0.09375 0.8125 0.5938 +0.09375 0.8125 0.625 +0.09375 0.8125 0.6562 +0.09375 0.8125 0.6875 +0.09375 0.8125 0.7188 +0.09375 0.8125 0.75 +0.09375 0.8125 0.7812 +0.09375 0.8125 0.8125 +0.09375 0.8125 0.8438 +0.09375 0.8125 0.875 +0.09375 0.8125 0.9062 +0.09375 0.8125 0.9375 +0.09375 0.8125 0.9688 +0.09375 0.8125 1 +0.09375 0.8438 0 +0.09375 0.8438 0.03125 +0.09375 0.8438 0.0625 +0.09375 0.8438 0.09375 +0.09375 0.8438 0.125 +0.09375 0.8438 0.1562 +0.09375 0.8438 0.1875 +0.09375 0.8438 0.2188 +0.09375 0.8438 0.25 +0.09375 0.8438 0.2812 +0.09375 0.8438 0.3125 +0.09375 0.8438 0.3438 +0.09375 0.8438 0.375 +0.09375 0.8438 0.4062 +0.09375 0.8438 0.4375 +0.09375 0.8438 0.4688 +0.09375 0.8438 0.5 +0.09375 0.8438 0.5312 +0.09375 0.8438 0.5625 +0.09375 0.8438 0.5938 +0.09375 0.8438 0.625 +0.09375 0.8438 0.6562 +0.09375 0.8438 0.6875 +0.09375 0.8438 0.7188 +0.09375 0.8438 0.75 +0.09375 0.8438 0.7812 +0.09375 0.8438 0.8125 +0.09375 0.8438 0.8438 +0.09375 0.8438 0.875 +0.09375 0.8438 0.9062 +0.09375 0.8438 0.9375 +0.09375 0.8438 0.9688 +0.09375 0.8438 1 +0.09375 0.875 0 +0.09375 0.875 0.03125 +0.09375 0.875 0.0625 +0.09375 0.875 0.09375 +0.09375 0.875 0.125 +0.09375 0.875 0.1562 +0.09375 0.875 0.1875 +0.09375 0.875 0.2188 +0.09375 0.875 0.25 +0.09375 0.875 0.2812 +0.09375 0.875 0.3125 +0.09375 0.875 0.3438 +0.09375 0.875 0.375 +0.09375 0.875 0.4062 +0.09375 0.875 0.4375 +0.09375 0.875 0.4688 +0.09375 0.875 0.5 +0.09375 0.875 0.5312 +0.09375 0.875 0.5625 +0.09375 0.875 0.5938 +0.09375 0.875 0.625 +0.09375 0.875 0.6562 +0.09375 0.875 0.6875 +0.09375 0.875 0.7188 +0.09375 0.875 0.75 +0.09375 0.875 0.7812 +0.09375 0.875 0.8125 +0.09375 0.875 0.8438 +0.09375 0.875 0.875 +0.09375 0.875 0.9062 +0.09375 0.875 0.9375 +0.09375 0.875 0.9688 +0.09375 0.875 1 +0.09375 0.9062 0 +0.09375 0.9062 0.03125 +0.09375 0.9062 0.0625 +0.09375 0.9062 0.09375 +0.09375 0.9062 0.125 +0.09375 0.9062 0.1562 +0.09375 0.9062 0.1875 +0.09375 0.9062 0.2188 +0.09375 0.9062 0.25 +0.09375 0.9062 0.2812 +0.09375 0.9062 0.3125 +0.09375 0.9062 0.3438 +0.09375 0.9062 0.375 +0.09375 0.9062 0.4062 +0.09375 0.9062 0.4375 +0.09375 0.9062 0.4688 +0.09375 0.9062 0.5 +0.09375 0.9062 0.5312 +0.09375 0.9062 0.5625 +0.09375 0.9062 0.5938 +0.09375 0.9062 0.625 +0.09375 0.9062 0.6562 +0.09375 0.9062 0.6875 +0.09375 0.9062 0.7188 +0.09375 0.9062 0.75 +0.09375 0.9062 0.7812 +0.09375 0.9062 0.8125 +0.09375 0.9062 0.8438 +0.09375 0.9062 0.875 +0.09375 0.9062 0.9062 +0.09375 0.9062 0.9375 +0.09375 0.9062 0.9688 +0.09375 0.9062 1 +0.09375 0.9375 0 +0.09375 0.9375 0.03125 +0.09375 0.9375 0.0625 +0.09375 0.9375 0.09375 +0.09375 0.9375 0.125 +0.09375 0.9375 0.1562 +0.09375 0.9375 0.1875 +0.09375 0.9375 0.2188 +0.09375 0.9375 0.25 +0.09375 0.9375 0.2812 +0.09375 0.9375 0.3125 +0.09375 0.9375 0.3438 +0.09375 0.9375 0.375 +0.09375 0.9375 0.4062 +0.09375 0.9375 0.4375 +0.09375 0.9375 0.4688 +0.09375 0.9375 0.5 +0.09375 0.9375 0.5312 +0.09375 0.9375 0.5625 +0.09375 0.9375 0.5938 +0.09375 0.9375 0.625 +0.09375 0.9375 0.6562 +0.09375 0.9375 0.6875 +0.09375 0.9375 0.7188 +0.09375 0.9375 0.75 +0.09375 0.9375 0.7812 +0.09375 0.9375 0.8125 +0.09375 0.9375 0.8438 +0.09375 0.9375 0.875 +0.09375 0.9375 0.9062 +0.09375 0.9375 0.9375 +0.09375 0.9375 0.9688 +0.09375 0.9375 1 +0.09375 0.9688 0 +0.09375 0.9688 0.03125 +0.09375 0.9688 0.0625 +0.09375 0.9688 0.09375 +0.09375 0.9688 0.125 +0.09375 0.9688 0.1562 +0.09375 0.9688 0.1875 +0.09375 0.9688 0.2188 +0.09375 0.9688 0.25 +0.09375 0.9688 0.2812 +0.09375 0.9688 0.3125 +0.09375 0.9688 0.3438 +0.09375 0.9688 0.375 +0.09375 0.9688 0.4062 +0.09375 0.9688 0.4375 +0.09375 0.9688 0.4688 +0.09375 0.9688 0.5 +0.09375 0.9688 0.5312 +0.09375 0.9688 0.5625 +0.09375 0.9688 0.5938 +0.09375 0.9688 0.625 +0.09375 0.9688 0.6562 +0.09375 0.9688 0.6875 +0.09375 0.9688 0.7188 +0.09375 0.9688 0.75 +0.09375 0.9688 0.7812 +0.09375 0.9688 0.8125 +0.09375 0.9688 0.8438 +0.09375 0.9688 0.875 +0.09375 0.9688 0.9062 +0.09375 0.9688 0.9375 +0.09375 0.9688 0.9688 +0.09375 0.9688 1 +0.09375 1 0 +0.09375 1 0.03125 +0.09375 1 0.0625 +0.09375 1 0.09375 +0.09375 1 0.125 +0.09375 1 0.1562 +0.09375 1 0.1875 +0.09375 1 0.2188 +0.09375 1 0.25 +0.09375 1 0.2812 +0.09375 1 0.3125 +0.09375 1 0.3438 +0.09375 1 0.375 +0.09375 1 0.4062 +0.09375 1 0.4375 +0.09375 1 0.4688 +0.09375 1 0.5 +0.09375 1 0.5312 +0.09375 1 0.5625 +0.09375 1 0.5938 +0.09375 1 0.625 +0.09375 1 0.6562 +0.09375 1 0.6875 +0.09375 1 0.7188 +0.09375 1 0.75 +0.09375 1 0.7812 +0.09375 1 0.8125 +0.09375 1 0.8438 +0.09375 1 0.875 +0.09375 1 0.9062 +0.09375 1 0.9375 +0.09375 1 0.9688 +0.09375 1 1 +0.125 0 0 +0.125 0 0.03125 +0.125 0 0.0625 +0.125 0 0.09375 +0.125 0 0.125 +0.125 0 0.1562 +0.125 0 0.1875 +0.125 0 0.2188 +0.125 0 0.25 +0.125 0 0.2812 +0.125 0 0.3125 +0.125 0 0.3438 +0.125 0 0.375 +0.125 0 0.4062 +0.125 0 0.4375 +0.125 0 0.4688 +0.125 0 0.5 +0.125 0 0.5312 +0.125 0 0.5625 +0.125 0 0.5938 +0.125 0 0.625 +0.125 0 0.6562 +0.125 0 0.6875 +0.125 0 0.7188 +0.125 0 0.75 +0.125 0 0.7812 +0.125 0 0.8125 +0.125 0 0.8438 +0.125 0 0.875 +0.125 0 0.9062 +0.125 0 0.9375 +0.125 0 0.9688 +0.125 0 1 +0.125 0.03125 0 +0.125 0.03125 0.03125 +0.125 0.03125 0.0625 +0.125 0.03125 0.09375 +0.125 0.03125 0.125 +0.125 0.03125 0.1562 +0.125 0.03125 0.1875 +0.125 0.03125 0.2188 +0.125 0.03125 0.25 +0.125 0.03125 0.2812 +0.125 0.03125 0.3125 +0.125 0.03125 0.3438 +0.125 0.03125 0.375 +0.125 0.03125 0.4062 +0.125 0.03125 0.4375 +0.125 0.03125 0.4688 +0.125 0.03125 0.5 +0.125 0.03125 0.5312 +0.125 0.03125 0.5625 +0.125 0.03125 0.5938 +0.125 0.03125 0.625 +0.125 0.03125 0.6562 +0.125 0.03125 0.6875 +0.125 0.03125 0.7188 +0.125 0.03125 0.75 +0.125 0.03125 0.7812 +0.125 0.03125 0.8125 +0.125 0.03125 0.8438 +0.125 0.03125 0.875 +0.125 0.03125 0.9062 +0.125 0.03125 0.9375 +0.125 0.03125 0.9688 +0.125 0.03125 1 +0.125 0.0625 0 +0.125 0.0625 0.03125 +0.125 0.0625 0.0625 +0.125 0.0625 0.09375 +0.125 0.0625 0.125 +0.125 0.0625 0.1562 +0.125 0.0625 0.1875 +0.125 0.0625 0.2188 +0.125 0.0625 0.25 +0.125 0.0625 0.2812 +0.125 0.0625 0.3125 +0.125 0.0625 0.3438 +0.125 0.0625 0.375 +0.125 0.0625 0.4062 +0.125 0.0625 0.4375 +0.125 0.0625 0.4688 +0.125 0.0625 0.5 +0.125 0.0625 0.5312 +0.125 0.0625 0.5625 +0.125 0.0625 0.5938 +0.125 0.0625 0.625 +0.125 0.0625 0.6562 +0.125 0.0625 0.6875 +0.125 0.0625 0.7188 +0.125 0.0625 0.75 +0.125 0.0625 0.7812 +0.125 0.0625 0.8125 +0.125 0.0625 0.8438 +0.125 0.0625 0.875 +0.125 0.0625 0.9062 +0.125 0.0625 0.9375 +0.125 0.0625 0.9688 +0.125 0.0625 1 +0.125 0.09375 0 +0.125 0.09375 0.03125 +0.125 0.09375 0.0625 +0.125 0.09375 0.09375 +0.125 0.09375 0.125 +0.125 0.09375 0.1562 +0.125 0.09375 0.1875 +0.125 0.09375 0.2188 +0.125 0.09375 0.25 +0.125 0.09375 0.2812 +0.125 0.09375 0.3125 +0.125 0.09375 0.3438 +0.125 0.09375 0.375 +0.125 0.09375 0.4062 +0.125 0.09375 0.4375 +0.125 0.09375 0.4688 +0.125 0.09375 0.5 +0.125 0.09375 0.5312 +0.125 0.09375 0.5625 +0.125 0.09375 0.5938 +0.125 0.09375 0.625 +0.125 0.09375 0.6562 +0.125 0.09375 0.6875 +0.125 0.09375 0.7188 +0.125 0.09375 0.75 +0.125 0.09375 0.7812 +0.125 0.09375 0.8125 +0.125 0.09375 0.8438 +0.125 0.09375 0.875 +0.125 0.09375 0.9062 +0.125 0.09375 0.9375 +0.125 0.09375 0.9688 +0.125 0.09375 1 +0.125 0.125 0 +0.125 0.125 0.03125 +0.125 0.125 0.0625 +0.125 0.125 0.09375 +0.125 0.125 0.125 +0.125 0.125 0.1562 +0.125 0.125 0.1875 +0.125 0.125 0.2188 +0.125 0.125 0.25 +0.125 0.125 0.2812 +0.125 0.125 0.3125 +0.125 0.125 0.3438 +0.125 0.125 0.375 +0.125 0.125 0.4062 +0.125 0.125 0.4375 +0.125 0.125 0.4688 +0.125 0.125 0.5 +0.125 0.125 0.5312 +0.125 0.125 0.5625 +0.125 0.125 0.5938 +0.125 0.125 0.625 +0.125 0.125 0.6562 +0.125 0.125 0.6875 +0.125 0.125 0.7188 +0.125 0.125 0.75 +0.125 0.125 0.7812 +0.125 0.125 0.8125 +0.125 0.125 0.8438 +0.125 0.125 0.875 +0.125 0.125 0.9062 +0.125 0.125 0.9375 +0.125 0.125 0.9688 +0.125 0.125 1 +0.125 0.1562 0 +0.125 0.1562 0.03125 +0.125 0.1562 0.0625 +0.125 0.1562 0.09375 +0.125 0.1562 0.125 +0.125 0.1562 0.1562 +0.125 0.1562 0.1875 +0.125 0.1562 0.2188 +0.125 0.1562 0.25 +0.125 0.1562 0.2812 +0.125 0.1562 0.3125 +0.125 0.1562 0.3438 +0.125 0.1562 0.375 +0.125 0.1562 0.4062 +0.125 0.1562 0.4375 +0.125 0.1562 0.4688 +0.125 0.1562 0.5 +0.125 0.1562 0.5312 +0.125 0.1562 0.5625 +0.125 0.1562 0.5938 +0.125 0.1562 0.625 +0.125 0.1562 0.6562 +0.125 0.1562 0.6875 +0.125 0.1562 0.7188 +0.125 0.1562 0.75 +0.125 0.1562 0.7812 +0.125 0.1562 0.8125 +0.125 0.1562 0.8438 +0.125 0.1562 0.875 +0.125 0.1562 0.9062 +0.125 0.1562 0.9375 +0.125 0.1562 0.9688 +0.125 0.1562 1 +0.125 0.1875 0 +0.125 0.1875 0.03125 +0.125 0.1875 0.0625 +0.125 0.1875 0.09375 +0.125 0.1875 0.125 +0.125 0.1875 0.1562 +0.125 0.1875 0.1875 +0.125 0.1875 0.2188 +0.125 0.1875 0.25 +0.125 0.1875 0.2812 +0.125 0.1875 0.3125 +0.125 0.1875 0.3438 +0.125 0.1875 0.375 +0.125 0.1875 0.4062 +0.125 0.1875 0.4375 +0.125 0.1875 0.4688 +0.125 0.1875 0.5 +0.125 0.1875 0.5312 +0.125 0.1875 0.5625 +0.125 0.1875 0.5938 +0.125 0.1875 0.625 +0.125 0.1875 0.6562 +0.125 0.1875 0.6875 +0.125 0.1875 0.7188 +0.125 0.1875 0.75 +0.125 0.1875 0.7812 +0.125 0.1875 0.8125 +0.125 0.1875 0.8438 +0.125 0.1875 0.875 +0.125 0.1875 0.9062 +0.125 0.1875 0.9375 +0.125 0.1875 0.9688 +0.125 0.1875 1 +0.125 0.2188 0 +0.125 0.2188 0.03125 +0.125 0.2188 0.0625 +0.125 0.2188 0.09375 +0.125 0.2188 0.125 +0.125 0.2188 0.1562 +0.125 0.2188 0.1875 +0.125 0.2188 0.2188 +0.125 0.2188 0.25 +0.125 0.2188 0.2812 +0.125 0.2188 0.3125 +0.125 0.2188 0.3438 +0.125 0.2188 0.375 +0.125 0.2188 0.4062 +0.125 0.2188 0.4375 +0.125 0.2188 0.4688 +0.125 0.2188 0.5 +0.125 0.2188 0.5312 +0.125 0.2188 0.5625 +0.125 0.2188 0.5938 +0.125 0.2188 0.625 +0.125 0.2188 0.6562 +0.125 0.2188 0.6875 +0.125 0.2188 0.7188 +0.125 0.2188 0.75 +0.125 0.2188 0.7812 +0.125 0.2188 0.8125 +0.125 0.2188 0.8438 +0.125 0.2188 0.875 +0.125 0.2188 0.9062 +0.125 0.2188 0.9375 +0.125 0.2188 0.9688 +0.125 0.2188 1 +0.125 0.25 0 +0.125 0.25 0.03125 +0.125 0.25 0.0625 +0.125 0.25 0.09375 +0.125 0.25 0.125 +0.125 0.25 0.1562 +0.125 0.25 0.1875 +0.125 0.25 0.2188 +0.125 0.25 0.25 +0.125 0.25 0.2812 +0.125 0.25 0.3125 +0.125 0.25 0.3438 +0.125 0.25 0.375 +0.125 0.25 0.4062 +0.125 0.25 0.4375 +0.125 0.25 0.4688 +0.125 0.25 0.5 +0.125 0.25 0.5312 +0.125 0.25 0.5625 +0.125 0.25 0.5938 +0.125 0.25 0.625 +0.125 0.25 0.6562 +0.125 0.25 0.6875 +0.125 0.25 0.7188 +0.125 0.25 0.75 +0.125 0.25 0.7812 +0.125 0.25 0.8125 +0.125 0.25 0.8438 +0.125 0.25 0.875 +0.125 0.25 0.9062 +0.125 0.25 0.9375 +0.125 0.25 0.9688 +0.125 0.25 1 +0.125 0.2812 0 +0.125 0.2812 0.03125 +0.125 0.2812 0.0625 +0.125 0.2812 0.09375 +0.125 0.2812 0.125 +0.125 0.2812 0.1562 +0.125 0.2812 0.1875 +0.125 0.2812 0.2188 +0.125 0.2812 0.25 +0.125 0.2812 0.2812 +0.125 0.2812 0.3125 +0.125 0.2812 0.3438 +0.125 0.2812 0.375 +0.125 0.2812 0.4062 +0.125 0.2812 0.4375 +0.125 0.2812 0.4688 +0.125 0.2812 0.5 +0.125 0.2812 0.5312 +0.125 0.2812 0.5625 +0.125 0.2812 0.5938 +0.125 0.2812 0.625 +0.125 0.2812 0.6562 +0.125 0.2812 0.6875 +0.125 0.2812 0.7188 +0.125 0.2812 0.75 +0.125 0.2812 0.7812 +0.125 0.2812 0.8125 +0.125 0.2812 0.8438 +0.125 0.2812 0.875 +0.125 0.2812 0.9062 +0.125 0.2812 0.9375 +0.125 0.2812 0.9688 +0.125 0.2812 1 +0.125 0.3125 0 +0.125 0.3125 0.03125 +0.125 0.3125 0.0625 +0.125 0.3125 0.09375 +0.125 0.3125 0.125 +0.125 0.3125 0.1562 +0.125 0.3125 0.1875 +0.125 0.3125 0.2188 +0.125 0.3125 0.25 +0.125 0.3125 0.2812 +0.125 0.3125 0.3125 +0.125 0.3125 0.3438 +0.125 0.3125 0.375 +0.125 0.3125 0.4062 +0.125 0.3125 0.4375 +0.125 0.3125 0.4688 +0.125 0.3125 0.5 +0.125 0.3125 0.5312 +0.125 0.3125 0.5625 +0.125 0.3125 0.5938 +0.125 0.3125 0.625 +0.125 0.3125 0.6562 +0.125 0.3125 0.6875 +0.125 0.3125 0.7188 +0.125 0.3125 0.75 +0.125 0.3125 0.7812 +0.125 0.3125 0.8125 +0.125 0.3125 0.8438 +0.125 0.3125 0.875 +0.125 0.3125 0.9062 +0.125 0.3125 0.9375 +0.125 0.3125 0.9688 +0.125 0.3125 1 +0.125 0.3438 0 +0.125 0.3438 0.03125 +0.125 0.3438 0.0625 +0.125 0.3438 0.09375 +0.125 0.3438 0.125 +0.125 0.3438 0.1562 +0.125 0.3438 0.1875 +0.125 0.3438 0.2188 +0.125 0.3438 0.25 +0.125 0.3438 0.2812 +0.125 0.3438 0.3125 +0.125 0.3438 0.3438 +0.125 0.3438 0.375 +0.125 0.3438 0.4062 +0.125 0.3438 0.4375 +0.125 0.3438 0.4688 +0.125 0.3438 0.5 +0.125 0.3438 0.5312 +0.125 0.3438 0.5625 +0.125 0.3438 0.5938 +0.125 0.3438 0.625 +0.125 0.3438 0.6562 +0.125 0.3438 0.6875 +0.125 0.3438 0.7188 +0.125 0.3438 0.75 +0.125 0.3438 0.7812 +0.125 0.3438 0.8125 +0.125 0.3438 0.8438 +0.125 0.3438 0.875 +0.125 0.3438 0.9062 +0.125 0.3438 0.9375 +0.125 0.3438 0.9688 +0.125 0.3438 1 +0.125 0.375 0 +0.125 0.375 0.03125 +0.125 0.375 0.0625 +0.125 0.375 0.09375 +0.125 0.375 0.125 +0.125 0.375 0.1562 +0.125 0.375 0.1875 +0.125 0.375 0.2188 +0.125 0.375 0.25 +0.125 0.375 0.2812 +0.125 0.375 0.3125 +0.125 0.375 0.3438 +0.125 0.375 0.375 +0.125 0.375 0.4062 +0.125 0.375 0.4375 +0.125 0.375 0.4688 +0.125 0.375 0.5 +0.125 0.375 0.5312 +0.125 0.375 0.5625 +0.125 0.375 0.5938 +0.125 0.375 0.625 +0.125 0.375 0.6562 +0.125 0.375 0.6875 +0.125 0.375 0.7188 +0.125 0.375 0.75 +0.125 0.375 0.7812 +0.125 0.375 0.8125 +0.125 0.375 0.8438 +0.125 0.375 0.875 +0.125 0.375 0.9062 +0.125 0.375 0.9375 +0.125 0.375 0.9688 +0.125 0.375 1 +0.125 0.4062 0 +0.125 0.4062 0.03125 +0.125 0.4062 0.0625 +0.125 0.4062 0.09375 +0.125 0.4062 0.125 +0.125 0.4062 0.1562 +0.125 0.4062 0.1875 +0.125 0.4062 0.2188 +0.125 0.4062 0.25 +0.125 0.4062 0.2812 +0.125 0.4062 0.3125 +0.125 0.4062 0.3438 +0.125 0.4062 0.375 +0.125 0.4062 0.4062 +0.125 0.4062 0.4375 +0.125 0.4062 0.4688 +0.125 0.4062 0.5 +0.125 0.4062 0.5312 +0.125 0.4062 0.5625 +0.125 0.4062 0.5938 +0.125 0.4062 0.625 +0.125 0.4062 0.6562 +0.125 0.4062 0.6875 +0.125 0.4062 0.7188 +0.125 0.4062 0.75 +0.125 0.4062 0.7812 +0.125 0.4062 0.8125 +0.125 0.4062 0.8438 +0.125 0.4062 0.875 +0.125 0.4062 0.9062 +0.125 0.4062 0.9375 +0.125 0.4062 0.9688 +0.125 0.4062 1 +0.125 0.4375 0 +0.125 0.4375 0.03125 +0.125 0.4375 0.0625 +0.125 0.4375 0.09375 +0.125 0.4375 0.125 +0.125 0.4375 0.1562 +0.125 0.4375 0.1875 +0.125 0.4375 0.2188 +0.125 0.4375 0.25 +0.125 0.4375 0.2812 +0.125 0.4375 0.3125 +0.125 0.4375 0.3438 +0.125 0.4375 0.375 +0.125 0.4375 0.4062 +0.125 0.4375 0.4375 +0.125 0.4375 0.4688 +0.125 0.4375 0.5 +0.125 0.4375 0.5312 +0.125 0.4375 0.5625 +0.125 0.4375 0.5938 +0.125 0.4375 0.625 +0.125 0.4375 0.6562 +0.125 0.4375 0.6875 +0.125 0.4375 0.7188 +0.125 0.4375 0.75 +0.125 0.4375 0.7812 +0.125 0.4375 0.8125 +0.125 0.4375 0.8438 +0.125 0.4375 0.875 +0.125 0.4375 0.9062 +0.125 0.4375 0.9375 +0.125 0.4375 0.9688 +0.125 0.4375 1 +0.125 0.4688 0 +0.125 0.4688 0.03125 +0.125 0.4688 0.0625 +0.125 0.4688 0.09375 +0.125 0.4688 0.125 +0.125 0.4688 0.1562 +0.125 0.4688 0.1875 +0.125 0.4688 0.2188 +0.125 0.4688 0.25 +0.125 0.4688 0.2812 +0.125 0.4688 0.3125 +0.125 0.4688 0.3438 +0.125 0.4688 0.375 +0.125 0.4688 0.4062 +0.125 0.4688 0.4375 +0.125 0.4688 0.4688 +0.125 0.4688 0.5 +0.125 0.4688 0.5312 +0.125 0.4688 0.5625 +0.125 0.4688 0.5938 +0.125 0.4688 0.625 +0.125 0.4688 0.6562 +0.125 0.4688 0.6875 +0.125 0.4688 0.7188 +0.125 0.4688 0.75 +0.125 0.4688 0.7812 +0.125 0.4688 0.8125 +0.125 0.4688 0.8438 +0.125 0.4688 0.875 +0.125 0.4688 0.9062 +0.125 0.4688 0.9375 +0.125 0.4688 0.9688 +0.125 0.4688 1 +0.125 0.5 0 +0.125 0.5 0.03125 +0.125 0.5 0.0625 +0.125 0.5 0.09375 +0.125 0.5 0.125 +0.125 0.5 0.1562 +0.125 0.5 0.1875 +0.125 0.5 0.2188 +0.125 0.5 0.25 +0.125 0.5 0.2812 +0.125 0.5 0.3125 +0.125 0.5 0.3438 +0.125 0.5 0.375 +0.125 0.5 0.4062 +0.125 0.5 0.4375 +0.125 0.5 0.4688 +0.125 0.5 0.5 +0.125 0.5 0.5312 +0.125 0.5 0.5625 +0.125 0.5 0.5938 +0.125 0.5 0.625 +0.125 0.5 0.6562 +0.125 0.5 0.6875 +0.125 0.5 0.7188 +0.125 0.5 0.75 +0.125 0.5 0.7812 +0.125 0.5 0.8125 +0.125 0.5 0.8438 +0.125 0.5 0.875 +0.125 0.5 0.9062 +0.125 0.5 0.9375 +0.125 0.5 0.9688 +0.125 0.5 1 +0.125 0.5312 0 +0.125 0.5312 0.03125 +0.125 0.5312 0.0625 +0.125 0.5312 0.09375 +0.125 0.5312 0.125 +0.125 0.5312 0.1562 +0.125 0.5312 0.1875 +0.125 0.5312 0.2188 +0.125 0.5312 0.25 +0.125 0.5312 0.2812 +0.125 0.5312 0.3125 +0.125 0.5312 0.3438 +0.125 0.5312 0.375 +0.125 0.5312 0.4062 +0.125 0.5312 0.4375 +0.125 0.5312 0.4688 +0.125 0.5312 0.5 +0.125 0.5312 0.5312 +0.125 0.5312 0.5625 +0.125 0.5312 0.5938 +0.125 0.5312 0.625 +0.125 0.5312 0.6562 +0.125 0.5312 0.6875 +0.125 0.5312 0.7188 +0.125 0.5312 0.75 +0.125 0.5312 0.7812 +0.125 0.5312 0.8125 +0.125 0.5312 0.8438 +0.125 0.5312 0.875 +0.125 0.5312 0.9062 +0.125 0.5312 0.9375 +0.125 0.5312 0.9688 +0.125 0.5312 1 +0.125 0.5625 0 +0.125 0.5625 0.03125 +0.125 0.5625 0.0625 +0.125 0.5625 0.09375 +0.125 0.5625 0.125 +0.125 0.5625 0.1562 +0.125 0.5625 0.1875 +0.125 0.5625 0.2188 +0.125 0.5625 0.25 +0.125 0.5625 0.2812 +0.125 0.5625 0.3125 +0.125 0.5625 0.3438 +0.125 0.5625 0.375 +0.125 0.5625 0.4062 +0.125 0.5625 0.4375 +0.125 0.5625 0.4688 +0.125 0.5625 0.5 +0.125 0.5625 0.5312 +0.125 0.5625 0.5625 +0.125 0.5625 0.5938 +0.125 0.5625 0.625 +0.125 0.5625 0.6562 +0.125 0.5625 0.6875 +0.125 0.5625 0.7188 +0.125 0.5625 0.75 +0.125 0.5625 0.7812 +0.125 0.5625 0.8125 +0.125 0.5625 0.8438 +0.125 0.5625 0.875 +0.125 0.5625 0.9062 +0.125 0.5625 0.9375 +0.125 0.5625 0.9688 +0.125 0.5625 1 +0.125 0.5938 0 +0.125 0.5938 0.03125 +0.125 0.5938 0.0625 +0.125 0.5938 0.09375 +0.125 0.5938 0.125 +0.125 0.5938 0.1562 +0.125 0.5938 0.1875 +0.125 0.5938 0.2188 +0.125 0.5938 0.25 +0.125 0.5938 0.2812 +0.125 0.5938 0.3125 +0.125 0.5938 0.3438 +0.125 0.5938 0.375 +0.125 0.5938 0.4062 +0.125 0.5938 0.4375 +0.125 0.5938 0.4688 +0.125 0.5938 0.5 +0.125 0.5938 0.5312 +0.125 0.5938 0.5625 +0.125 0.5938 0.5938 +0.125 0.5938 0.625 +0.125 0.5938 0.6562 +0.125 0.5938 0.6875 +0.125 0.5938 0.7188 +0.125 0.5938 0.75 +0.125 0.5938 0.7812 +0.125 0.5938 0.8125 +0.125 0.5938 0.8438 +0.125 0.5938 0.875 +0.125 0.5938 0.9062 +0.125 0.5938 0.9375 +0.125 0.5938 0.9688 +0.125 0.5938 1 +0.125 0.625 0 +0.125 0.625 0.03125 +0.125 0.625 0.0625 +0.125 0.625 0.09375 +0.125 0.625 0.125 +0.125 0.625 0.1562 +0.125 0.625 0.1875 +0.125 0.625 0.2188 +0.125 0.625 0.25 +0.125 0.625 0.2812 +0.125 0.625 0.3125 +0.125 0.625 0.3438 +0.125 0.625 0.375 +0.125 0.625 0.4062 +0.125 0.625 0.4375 +0.125 0.625 0.4688 +0.125 0.625 0.5 +0.125 0.625 0.5312 +0.125 0.625 0.5625 +0.125 0.625 0.5938 +0.125 0.625 0.625 +0.125 0.625 0.6562 +0.125 0.625 0.6875 +0.125 0.625 0.7188 +0.125 0.625 0.75 +0.125 0.625 0.7812 +0.125 0.625 0.8125 +0.125 0.625 0.8438 +0.125 0.625 0.875 +0.125 0.625 0.9062 +0.125 0.625 0.9375 +0.125 0.625 0.9688 +0.125 0.625 1 +0.125 0.6562 0 +0.125 0.6562 0.03125 +0.125 0.6562 0.0625 +0.125 0.6562 0.09375 +0.125 0.6562 0.125 +0.125 0.6562 0.1562 +0.125 0.6562 0.1875 +0.125 0.6562 0.2188 +0.125 0.6562 0.25 +0.125 0.6562 0.2812 +0.125 0.6562 0.3125 +0.125 0.6562 0.3438 +0.125 0.6562 0.375 +0.125 0.6562 0.4062 +0.125 0.6562 0.4375 +0.125 0.6562 0.4688 +0.125 0.6562 0.5 +0.125 0.6562 0.5312 +0.125 0.6562 0.5625 +0.125 0.6562 0.5938 +0.125 0.6562 0.625 +0.125 0.6562 0.6562 +0.125 0.6562 0.6875 +0.125 0.6562 0.7188 +0.125 0.6562 0.75 +0.125 0.6562 0.7812 +0.125 0.6562 0.8125 +0.125 0.6562 0.8438 +0.125 0.6562 0.875 +0.125 0.6562 0.9062 +0.125 0.6562 0.9375 +0.125 0.6562 0.9688 +0.125 0.6562 1 +0.125 0.6875 0 +0.125 0.6875 0.03125 +0.125 0.6875 0.0625 +0.125 0.6875 0.09375 +0.125 0.6875 0.125 +0.125 0.6875 0.1562 +0.125 0.6875 0.1875 +0.125 0.6875 0.2188 +0.125 0.6875 0.25 +0.125 0.6875 0.2812 +0.125 0.6875 0.3125 +0.125 0.6875 0.3438 +0.125 0.6875 0.375 +0.125 0.6875 0.4062 +0.125 0.6875 0.4375 +0.125 0.6875 0.4688 +0.125 0.6875 0.5 +0.125 0.6875 0.5312 +0.125 0.6875 0.5625 +0.125 0.6875 0.5938 +0.125 0.6875 0.625 +0.125 0.6875 0.6562 +0.125 0.6875 0.6875 +0.125 0.6875 0.7188 +0.125 0.6875 0.75 +0.125 0.6875 0.7812 +0.125 0.6875 0.8125 +0.125 0.6875 0.8438 +0.125 0.6875 0.875 +0.125 0.6875 0.9062 +0.125 0.6875 0.9375 +0.125 0.6875 0.9688 +0.125 0.6875 1 +0.125 0.7188 0 +0.125 0.7188 0.03125 +0.125 0.7188 0.0625 +0.125 0.7188 0.09375 +0.125 0.7188 0.125 +0.125 0.7188 0.1562 +0.125 0.7188 0.1875 +0.125 0.7188 0.2188 +0.125 0.7188 0.25 +0.125 0.7188 0.2812 +0.125 0.7188 0.3125 +0.125 0.7188 0.3438 +0.125 0.7188 0.375 +0.125 0.7188 0.4062 +0.125 0.7188 0.4375 +0.125 0.7188 0.4688 +0.125 0.7188 0.5 +0.125 0.7188 0.5312 +0.125 0.7188 0.5625 +0.125 0.7188 0.5938 +0.125 0.7188 0.625 +0.125 0.7188 0.6562 +0.125 0.7188 0.6875 +0.125 0.7188 0.7188 +0.125 0.7188 0.75 +0.125 0.7188 0.7812 +0.125 0.7188 0.8125 +0.125 0.7188 0.8438 +0.125 0.7188 0.875 +0.125 0.7188 0.9062 +0.125 0.7188 0.9375 +0.125 0.7188 0.9688 +0.125 0.7188 1 +0.125 0.75 0 +0.125 0.75 0.03125 +0.125 0.75 0.0625 +0.125 0.75 0.09375 +0.125 0.75 0.125 +0.125 0.75 0.1562 +0.125 0.75 0.1875 +0.125 0.75 0.2188 +0.125 0.75 0.25 +0.125 0.75 0.2812 +0.125 0.75 0.3125 +0.125 0.75 0.3438 +0.125 0.75 0.375 +0.125 0.75 0.4062 +0.125 0.75 0.4375 +0.125 0.75 0.4688 +0.125 0.75 0.5 +0.125 0.75 0.5312 +0.125 0.75 0.5625 +0.125 0.75 0.5938 +0.125 0.75 0.625 +0.125 0.75 0.6562 +0.125 0.75 0.6875 +0.125 0.75 0.7188 +0.125 0.75 0.75 +0.125 0.75 0.7812 +0.125 0.75 0.8125 +0.125 0.75 0.8438 +0.125 0.75 0.875 +0.125 0.75 0.9062 +0.125 0.75 0.9375 +0.125 0.75 0.9688 +0.125 0.75 1 +0.125 0.7812 0 +0.125 0.7812 0.03125 +0.125 0.7812 0.0625 +0.125 0.7812 0.09375 +0.125 0.7812 0.125 +0.125 0.7812 0.1562 +0.125 0.7812 0.1875 +0.125 0.7812 0.2188 +0.125 0.7812 0.25 +0.125 0.7812 0.2812 +0.125 0.7812 0.3125 +0.125 0.7812 0.3438 +0.125 0.7812 0.375 +0.125 0.7812 0.4062 +0.125 0.7812 0.4375 +0.125 0.7812 0.4688 +0.125 0.7812 0.5 +0.125 0.7812 0.5312 +0.125 0.7812 0.5625 +0.125 0.7812 0.5938 +0.125 0.7812 0.625 +0.125 0.7812 0.6562 +0.125 0.7812 0.6875 +0.125 0.7812 0.7188 +0.125 0.7812 0.75 +0.125 0.7812 0.7812 +0.125 0.7812 0.8125 +0.125 0.7812 0.8438 +0.125 0.7812 0.875 +0.125 0.7812 0.9062 +0.125 0.7812 0.9375 +0.125 0.7812 0.9688 +0.125 0.7812 1 +0.125 0.8125 0 +0.125 0.8125 0.03125 +0.125 0.8125 0.0625 +0.125 0.8125 0.09375 +0.125 0.8125 0.125 +0.125 0.8125 0.1562 +0.125 0.8125 0.1875 +0.125 0.8125 0.2188 +0.125 0.8125 0.25 +0.125 0.8125 0.2812 +0.125 0.8125 0.3125 +0.125 0.8125 0.3438 +0.125 0.8125 0.375 +0.125 0.8125 0.4062 +0.125 0.8125 0.4375 +0.125 0.8125 0.4688 +0.125 0.8125 0.5 +0.125 0.8125 0.5312 +0.125 0.8125 0.5625 +0.125 0.8125 0.5938 +0.125 0.8125 0.625 +0.125 0.8125 0.6562 +0.125 0.8125 0.6875 +0.125 0.8125 0.7188 +0.125 0.8125 0.75 +0.125 0.8125 0.7812 +0.125 0.8125 0.8125 +0.125 0.8125 0.8438 +0.125 0.8125 0.875 +0.125 0.8125 0.9062 +0.125 0.8125 0.9375 +0.125 0.8125 0.9688 +0.125 0.8125 1 +0.125 0.8438 0 +0.125 0.8438 0.03125 +0.125 0.8438 0.0625 +0.125 0.8438 0.09375 +0.125 0.8438 0.125 +0.125 0.8438 0.1562 +0.125 0.8438 0.1875 +0.125 0.8438 0.2188 +0.125 0.8438 0.25 +0.125 0.8438 0.2812 +0.125 0.8438 0.3125 +0.125 0.8438 0.3438 +0.125 0.8438 0.375 +0.125 0.8438 0.4062 +0.125 0.8438 0.4375 +0.125 0.8438 0.4688 +0.125 0.8438 0.5 +0.125 0.8438 0.5312 +0.125 0.8438 0.5625 +0.125 0.8438 0.5938 +0.125 0.8438 0.625 +0.125 0.8438 0.6562 +0.125 0.8438 0.6875 +0.125 0.8438 0.7188 +0.125 0.8438 0.75 +0.125 0.8438 0.7812 +0.125 0.8438 0.8125 +0.125 0.8438 0.8438 +0.125 0.8438 0.875 +0.125 0.8438 0.9062 +0.125 0.8438 0.9375 +0.125 0.8438 0.9688 +0.125 0.8438 1 +0.125 0.875 0 +0.125 0.875 0.03125 +0.125 0.875 0.0625 +0.125 0.875 0.09375 +0.125 0.875 0.125 +0.125 0.875 0.1562 +0.125 0.875 0.1875 +0.125 0.875 0.2188 +0.125 0.875 0.25 +0.125 0.875 0.2812 +0.125 0.875 0.3125 +0.125 0.875 0.3438 +0.125 0.875 0.375 +0.125 0.875 0.4062 +0.125 0.875 0.4375 +0.125 0.875 0.4688 +0.125 0.875 0.5 +0.125 0.875 0.5312 +0.125 0.875 0.5625 +0.125 0.875 0.5938 +0.125 0.875 0.625 +0.125 0.875 0.6562 +0.125 0.875 0.6875 +0.125 0.875 0.7188 +0.125 0.875 0.75 +0.125 0.875 0.7812 +0.125 0.875 0.8125 +0.125 0.875 0.8438 +0.125 0.875 0.875 +0.125 0.875 0.9062 +0.125 0.875 0.9375 +0.125 0.875 0.9688 +0.125 0.875 1 +0.125 0.9062 0 +0.125 0.9062 0.03125 +0.125 0.9062 0.0625 +0.125 0.9062 0.09375 +0.125 0.9062 0.125 +0.125 0.9062 0.1562 +0.125 0.9062 0.1875 +0.125 0.9062 0.2188 +0.125 0.9062 0.25 +0.125 0.9062 0.2812 +0.125 0.9062 0.3125 +0.125 0.9062 0.3438 +0.125 0.9062 0.375 +0.125 0.9062 0.4062 +0.125 0.9062 0.4375 +0.125 0.9062 0.4688 +0.125 0.9062 0.5 +0.125 0.9062 0.5312 +0.125 0.9062 0.5625 +0.125 0.9062 0.5938 +0.125 0.9062 0.625 +0.125 0.9062 0.6562 +0.125 0.9062 0.6875 +0.125 0.9062 0.7188 +0.125 0.9062 0.75 +0.125 0.9062 0.7812 +0.125 0.9062 0.8125 +0.125 0.9062 0.8438 +0.125 0.9062 0.875 +0.125 0.9062 0.9062 +0.125 0.9062 0.9375 +0.125 0.9062 0.9688 +0.125 0.9062 1 +0.125 0.9375 0 +0.125 0.9375 0.03125 +0.125 0.9375 0.0625 +0.125 0.9375 0.09375 +0.125 0.9375 0.125 +0.125 0.9375 0.1562 +0.125 0.9375 0.1875 +0.125 0.9375 0.2188 +0.125 0.9375 0.25 +0.125 0.9375 0.2812 +0.125 0.9375 0.3125 +0.125 0.9375 0.3438 +0.125 0.9375 0.375 +0.125 0.9375 0.4062 +0.125 0.9375 0.4375 +0.125 0.9375 0.4688 +0.125 0.9375 0.5 +0.125 0.9375 0.5312 +0.125 0.9375 0.5625 +0.125 0.9375 0.5938 +0.125 0.9375 0.625 +0.125 0.9375 0.6562 +0.125 0.9375 0.6875 +0.125 0.9375 0.7188 +0.125 0.9375 0.75 +0.125 0.9375 0.7812 +0.125 0.9375 0.8125 +0.125 0.9375 0.8438 +0.125 0.9375 0.875 +0.125 0.9375 0.9062 +0.125 0.9375 0.9375 +0.125 0.9375 0.9688 +0.125 0.9375 1 +0.125 0.9688 0 +0.125 0.9688 0.03125 +0.125 0.9688 0.0625 +0.125 0.9688 0.09375 +0.125 0.9688 0.125 +0.125 0.9688 0.1562 +0.125 0.9688 0.1875 +0.125 0.9688 0.2188 +0.125 0.9688 0.25 +0.125 0.9688 0.2812 +0.125 0.9688 0.3125 +0.125 0.9688 0.3438 +0.125 0.9688 0.375 +0.125 0.9688 0.4062 +0.125 0.9688 0.4375 +0.125 0.9688 0.4688 +0.125 0.9688 0.5 +0.125 0.9688 0.5312 +0.125 0.9688 0.5625 +0.125 0.9688 0.5938 +0.125 0.9688 0.625 +0.125 0.9688 0.6562 +0.125 0.9688 0.6875 +0.125 0.9688 0.7188 +0.125 0.9688 0.75 +0.125 0.9688 0.7812 +0.125 0.9688 0.8125 +0.125 0.9688 0.8438 +0.125 0.9688 0.875 +0.125 0.9688 0.9062 +0.125 0.9688 0.9375 +0.125 0.9688 0.9688 +0.125 0.9688 1 +0.125 1 0 +0.125 1 0.03125 +0.125 1 0.0625 +0.125 1 0.09375 +0.125 1 0.125 +0.125 1 0.1562 +0.125 1 0.1875 +0.125 1 0.2188 +0.125 1 0.25 +0.125 1 0.2812 +0.125 1 0.3125 +0.125 1 0.3438 +0.125 1 0.375 +0.125 1 0.4062 +0.125 1 0.4375 +0.125 1 0.4688 +0.125 1 0.5 +0.125 1 0.5312 +0.125 1 0.5625 +0.125 1 0.5938 +0.125 1 0.625 +0.125 1 0.6562 +0.125 1 0.6875 +0.125 1 0.7188 +0.125 1 0.75 +0.125 1 0.7812 +0.125 1 0.8125 +0.125 1 0.8438 +0.125 1 0.875 +0.125 1 0.9062 +0.125 1 0.9375 +0.125 1 0.9688 +0.125 1 1 +0.1562 0 0 +0.1562 0 0.03125 +0.1562 0 0.0625 +0.1562 0 0.09375 +0.1562 0 0.125 +0.1562 0 0.1562 +0.1562 0 0.1875 +0.1562 0 0.2188 +0.1562 0 0.25 +0.1562 0 0.2812 +0.1562 0 0.3125 +0.1562 0 0.3438 +0.1562 0 0.375 +0.1562 0 0.4062 +0.1562 0 0.4375 +0.1562 0 0.4688 +0.1562 0 0.5 +0.1562 0 0.5312 +0.1562 0 0.5625 +0.1562 0 0.5938 +0.1562 0 0.625 +0.1562 0 0.6562 +0.1562 0 0.6875 +0.1562 0 0.7188 +0.1562 0 0.75 +0.1562 0 0.7812 +0.1562 0 0.8125 +0.1562 0 0.8438 +0.1562 0 0.875 +0.1562 0 0.9062 +0.1562 0 0.9375 +0.1562 0 0.9688 +0.1562 0 1 +0.1562 0.03125 0 +0.1562 0.03125 0.03125 +0.1562 0.03125 0.0625 +0.1562 0.03125 0.09375 +0.1562 0.03125 0.125 +0.1562 0.03125 0.1562 +0.1562 0.03125 0.1875 +0.1562 0.03125 0.2188 +0.1562 0.03125 0.25 +0.1562 0.03125 0.2812 +0.1562 0.03125 0.3125 +0.1562 0.03125 0.3438 +0.1562 0.03125 0.375 +0.1562 0.03125 0.4062 +0.1562 0.03125 0.4375 +0.1562 0.03125 0.4688 +0.1562 0.03125 0.5 +0.1562 0.03125 0.5312 +0.1562 0.03125 0.5625 +0.1562 0.03125 0.5938 +0.1562 0.03125 0.625 +0.1562 0.03125 0.6562 +0.1562 0.03125 0.6875 +0.1562 0.03125 0.7188 +0.1562 0.03125 0.75 +0.1562 0.03125 0.7812 +0.1562 0.03125 0.8125 +0.1562 0.03125 0.8438 +0.1562 0.03125 0.875 +0.1562 0.03125 0.9062 +0.1562 0.03125 0.9375 +0.1562 0.03125 0.9688 +0.1562 0.03125 1 +0.1562 0.0625 0 +0.1562 0.0625 0.03125 +0.1562 0.0625 0.0625 +0.1562 0.0625 0.09375 +0.1562 0.0625 0.125 +0.1562 0.0625 0.1562 +0.1562 0.0625 0.1875 +0.1562 0.0625 0.2188 +0.1562 0.0625 0.25 +0.1562 0.0625 0.2812 +0.1562 0.0625 0.3125 +0.1562 0.0625 0.3438 +0.1562 0.0625 0.375 +0.1562 0.0625 0.4062 +0.1562 0.0625 0.4375 +0.1562 0.0625 0.4688 +0.1562 0.0625 0.5 +0.1562 0.0625 0.5312 +0.1562 0.0625 0.5625 +0.1562 0.0625 0.5938 +0.1562 0.0625 0.625 +0.1562 0.0625 0.6562 +0.1562 0.0625 0.6875 +0.1562 0.0625 0.7188 +0.1562 0.0625 0.75 +0.1562 0.0625 0.7812 +0.1562 0.0625 0.8125 +0.1562 0.0625 0.8438 +0.1562 0.0625 0.875 +0.1562 0.0625 0.9062 +0.1562 0.0625 0.9375 +0.1562 0.0625 0.9688 +0.1562 0.0625 1 +0.1562 0.09375 0 +0.1562 0.09375 0.03125 +0.1562 0.09375 0.0625 +0.1562 0.09375 0.09375 +0.1562 0.09375 0.125 +0.1562 0.09375 0.1562 +0.1562 0.09375 0.1875 +0.1562 0.09375 0.2188 +0.1562 0.09375 0.25 +0.1562 0.09375 0.2812 +0.1562 0.09375 0.3125 +0.1562 0.09375 0.3438 +0.1562 0.09375 0.375 +0.1562 0.09375 0.4062 +0.1562 0.09375 0.4375 +0.1562 0.09375 0.4688 +0.1562 0.09375 0.5 +0.1562 0.09375 0.5312 +0.1562 0.09375 0.5625 +0.1562 0.09375 0.5938 +0.1562 0.09375 0.625 +0.1562 0.09375 0.6562 +0.1562 0.09375 0.6875 +0.1562 0.09375 0.7188 +0.1562 0.09375 0.75 +0.1562 0.09375 0.7812 +0.1562 0.09375 0.8125 +0.1562 0.09375 0.8438 +0.1562 0.09375 0.875 +0.1562 0.09375 0.9062 +0.1562 0.09375 0.9375 +0.1562 0.09375 0.9688 +0.1562 0.09375 1 +0.1562 0.125 0 +0.1562 0.125 0.03125 +0.1562 0.125 0.0625 +0.1562 0.125 0.09375 +0.1562 0.125 0.125 +0.1562 0.125 0.1562 +0.1562 0.125 0.1875 +0.1562 0.125 0.2188 +0.1562 0.125 0.25 +0.1562 0.125 0.2812 +0.1562 0.125 0.3125 +0.1562 0.125 0.3438 +0.1562 0.125 0.375 +0.1562 0.125 0.4062 +0.1562 0.125 0.4375 +0.1562 0.125 0.4688 +0.1562 0.125 0.5 +0.1562 0.125 0.5312 +0.1562 0.125 0.5625 +0.1562 0.125 0.5938 +0.1562 0.125 0.625 +0.1562 0.125 0.6562 +0.1562 0.125 0.6875 +0.1562 0.125 0.7188 +0.1562 0.125 0.75 +0.1562 0.125 0.7812 +0.1562 0.125 0.8125 +0.1562 0.125 0.8438 +0.1562 0.125 0.875 +0.1562 0.125 0.9062 +0.1562 0.125 0.9375 +0.1562 0.125 0.9688 +0.1562 0.125 1 +0.1562 0.1562 0 +0.1562 0.1562 0.03125 +0.1562 0.1562 0.0625 +0.1562 0.1562 0.09375 +0.1562 0.1562 0.125 +0.1562 0.1562 0.1562 +0.1562 0.1562 0.1875 +0.1562 0.1562 0.2188 +0.1562 0.1562 0.25 +0.1562 0.1562 0.2812 +0.1562 0.1562 0.3125 +0.1562 0.1562 0.3438 +0.1562 0.1562 0.375 +0.1562 0.1562 0.4062 +0.1562 0.1562 0.4375 +0.1562 0.1562 0.4688 +0.1562 0.1562 0.5 +0.1562 0.1562 0.5312 +0.1562 0.1562 0.5625 +0.1562 0.1562 0.5938 +0.1562 0.1562 0.625 +0.1562 0.1562 0.6562 +0.1562 0.1562 0.6875 +0.1562 0.1562 0.7188 +0.1562 0.1562 0.75 +0.1562 0.1562 0.7812 +0.1562 0.1562 0.8125 +0.1562 0.1562 0.8438 +0.1562 0.1562 0.875 +0.1562 0.1562 0.9062 +0.1562 0.1562 0.9375 +0.1562 0.1562 0.9688 +0.1562 0.1562 1 +0.1562 0.1875 0 +0.1562 0.1875 0.03125 +0.1562 0.1875 0.0625 +0.1562 0.1875 0.09375 +0.1562 0.1875 0.125 +0.1562 0.1875 0.1562 +0.1562 0.1875 0.1875 +0.1562 0.1875 0.2188 +0.1562 0.1875 0.25 +0.1562 0.1875 0.2812 +0.1562 0.1875 0.3125 +0.1562 0.1875 0.3438 +0.1562 0.1875 0.375 +0.1562 0.1875 0.4062 +0.1562 0.1875 0.4375 +0.1562 0.1875 0.4688 +0.1562 0.1875 0.5 +0.1562 0.1875 0.5312 +0.1562 0.1875 0.5625 +0.1562 0.1875 0.5938 +0.1562 0.1875 0.625 +0.1562 0.1875 0.6562 +0.1562 0.1875 0.6875 +0.1562 0.1875 0.7188 +0.1562 0.1875 0.75 +0.1562 0.1875 0.7812 +0.1562 0.1875 0.8125 +0.1562 0.1875 0.8438 +0.1562 0.1875 0.875 +0.1562 0.1875 0.9062 +0.1562 0.1875 0.9375 +0.1562 0.1875 0.9688 +0.1562 0.1875 1 +0.1562 0.2188 0 +0.1562 0.2188 0.03125 +0.1562 0.2188 0.0625 +0.1562 0.2188 0.09375 +0.1562 0.2188 0.125 +0.1562 0.2188 0.1562 +0.1562 0.2188 0.1875 +0.1562 0.2188 0.2188 +0.1562 0.2188 0.25 +0.1562 0.2188 0.2812 +0.1562 0.2188 0.3125 +0.1562 0.2188 0.3438 +0.1562 0.2188 0.375 +0.1562 0.2188 0.4062 +0.1562 0.2188 0.4375 +0.1562 0.2188 0.4688 +0.1562 0.2188 0.5 +0.1562 0.2188 0.5312 +0.1562 0.2188 0.5625 +0.1562 0.2188 0.5938 +0.1562 0.2188 0.625 +0.1562 0.2188 0.6562 +0.1562 0.2188 0.6875 +0.1562 0.2188 0.7188 +0.1562 0.2188 0.75 +0.1562 0.2188 0.7812 +0.1562 0.2188 0.8125 +0.1562 0.2188 0.8438 +0.1562 0.2188 0.875 +0.1562 0.2188 0.9062 +0.1562 0.2188 0.9375 +0.1562 0.2188 0.9688 +0.1562 0.2188 1 +0.1562 0.25 0 +0.1562 0.25 0.03125 +0.1562 0.25 0.0625 +0.1562 0.25 0.09375 +0.1562 0.25 0.125 +0.1562 0.25 0.1562 +0.1562 0.25 0.1875 +0.1562 0.25 0.2188 +0.1562 0.25 0.25 +0.1562 0.25 0.2812 +0.1562 0.25 0.3125 +0.1562 0.25 0.3438 +0.1562 0.25 0.375 +0.1562 0.25 0.4062 +0.1562 0.25 0.4375 +0.1562 0.25 0.4688 +0.1562 0.25 0.5 +0.1562 0.25 0.5312 +0.1562 0.25 0.5625 +0.1562 0.25 0.5938 +0.1562 0.25 0.625 +0.1562 0.25 0.6562 +0.1562 0.25 0.6875 +0.1562 0.25 0.7188 +0.1562 0.25 0.75 +0.1562 0.25 0.7812 +0.1562 0.25 0.8125 +0.1562 0.25 0.8438 +0.1562 0.25 0.875 +0.1562 0.25 0.9062 +0.1562 0.25 0.9375 +0.1562 0.25 0.9688 +0.1562 0.25 1 +0.1562 0.2812 0 +0.1562 0.2812 0.03125 +0.1562 0.2812 0.0625 +0.1562 0.2812 0.09375 +0.1562 0.2812 0.125 +0.1562 0.2812 0.1562 +0.1562 0.2812 0.1875 +0.1562 0.2812 0.2188 +0.1562 0.2812 0.25 +0.1562 0.2812 0.2812 +0.1562 0.2812 0.3125 +0.1562 0.2812 0.3438 +0.1562 0.2812 0.375 +0.1562 0.2812 0.4062 +0.1562 0.2812 0.4375 +0.1562 0.2812 0.4688 +0.1562 0.2812 0.5 +0.1562 0.2812 0.5312 +0.1562 0.2812 0.5625 +0.1562 0.2812 0.5938 +0.1562 0.2812 0.625 +0.1562 0.2812 0.6562 +0.1562 0.2812 0.6875 +0.1562 0.2812 0.7188 +0.1562 0.2812 0.75 +0.1562 0.2812 0.7812 +0.1562 0.2812 0.8125 +0.1562 0.2812 0.8438 +0.1562 0.2812 0.875 +0.1562 0.2812 0.9062 +0.1562 0.2812 0.9375 +0.1562 0.2812 0.9688 +0.1562 0.2812 1 +0.1562 0.3125 0 +0.1562 0.3125 0.03125 +0.1562 0.3125 0.0625 +0.1562 0.3125 0.09375 +0.1562 0.3125 0.125 +0.1562 0.3125 0.1562 +0.1562 0.3125 0.1875 +0.1562 0.3125 0.2188 +0.1562 0.3125 0.25 +0.1562 0.3125 0.2812 +0.1562 0.3125 0.3125 +0.1562 0.3125 0.3438 +0.1562 0.3125 0.375 +0.1562 0.3125 0.4062 +0.1562 0.3125 0.4375 +0.1562 0.3125 0.4688 +0.1562 0.3125 0.5 +0.1562 0.3125 0.5312 +0.1562 0.3125 0.5625 +0.1562 0.3125 0.5938 +0.1562 0.3125 0.625 +0.1562 0.3125 0.6562 +0.1562 0.3125 0.6875 +0.1562 0.3125 0.7188 +0.1562 0.3125 0.75 +0.1562 0.3125 0.7812 +0.1562 0.3125 0.8125 +0.1562 0.3125 0.8438 +0.1562 0.3125 0.875 +0.1562 0.3125 0.9062 +0.1562 0.3125 0.9375 +0.1562 0.3125 0.9688 +0.1562 0.3125 1 +0.1562 0.3438 0 +0.1562 0.3438 0.03125 +0.1562 0.3438 0.0625 +0.1562 0.3438 0.09375 +0.1562 0.3438 0.125 +0.1562 0.3438 0.1562 +0.1562 0.3438 0.1875 +0.1562 0.3438 0.2188 +0.1562 0.3438 0.25 +0.1562 0.3438 0.2812 +0.1562 0.3438 0.3125 +0.1562 0.3438 0.3438 +0.1562 0.3438 0.375 +0.1562 0.3438 0.4062 +0.1562 0.3438 0.4375 +0.1562 0.3438 0.4688 +0.1562 0.3438 0.5 +0.1562 0.3438 0.5312 +0.1562 0.3438 0.5625 +0.1562 0.3438 0.5938 +0.1562 0.3438 0.625 +0.1562 0.3438 0.6562 +0.1562 0.3438 0.6875 +0.1562 0.3438 0.7188 +0.1562 0.3438 0.75 +0.1562 0.3438 0.7812 +0.1562 0.3438 0.8125 +0.1562 0.3438 0.8438 +0.1562 0.3438 0.875 +0.1562 0.3438 0.9062 +0.1562 0.3438 0.9375 +0.1562 0.3438 0.9688 +0.1562 0.3438 1 +0.1562 0.375 0 +0.1562 0.375 0.03125 +0.1562 0.375 0.0625 +0.1562 0.375 0.09375 +0.1562 0.375 0.125 +0.1562 0.375 0.1562 +0.1562 0.375 0.1875 +0.1562 0.375 0.2188 +0.1562 0.375 0.25 +0.1562 0.375 0.2812 +0.1562 0.375 0.3125 +0.1562 0.375 0.3438 +0.1562 0.375 0.375 +0.1562 0.375 0.4062 +0.1562 0.375 0.4375 +0.1562 0.375 0.4688 +0.1562 0.375 0.5 +0.1562 0.375 0.5312 +0.1562 0.375 0.5625 +0.1562 0.375 0.5938 +0.1562 0.375 0.625 +0.1562 0.375 0.6562 +0.1562 0.375 0.6875 +0.1562 0.375 0.7188 +0.1562 0.375 0.75 +0.1562 0.375 0.7812 +0.1562 0.375 0.8125 +0.1562 0.375 0.8438 +0.1562 0.375 0.875 +0.1562 0.375 0.9062 +0.1562 0.375 0.9375 +0.1562 0.375 0.9688 +0.1562 0.375 1 +0.1562 0.4062 0 +0.1562 0.4062 0.03125 +0.1562 0.4062 0.0625 +0.1562 0.4062 0.09375 +0.1562 0.4062 0.125 +0.1562 0.4062 0.1562 +0.1562 0.4062 0.1875 +0.1562 0.4062 0.2188 +0.1562 0.4062 0.25 +0.1562 0.4062 0.2812 +0.1562 0.4062 0.3125 +0.1562 0.4062 0.3438 +0.1562 0.4062 0.375 +0.1562 0.4062 0.4062 +0.1562 0.4062 0.4375 +0.1562 0.4062 0.4688 +0.1562 0.4062 0.5 +0.1562 0.4062 0.5312 +0.1562 0.4062 0.5625 +0.1562 0.4062 0.5938 +0.1562 0.4062 0.625 +0.1562 0.4062 0.6562 +0.1562 0.4062 0.6875 +0.1562 0.4062 0.7188 +0.1562 0.4062 0.75 +0.1562 0.4062 0.7812 +0.1562 0.4062 0.8125 +0.1562 0.4062 0.8438 +0.1562 0.4062 0.875 +0.1562 0.4062 0.9062 +0.1562 0.4062 0.9375 +0.1562 0.4062 0.9688 +0.1562 0.4062 1 +0.1562 0.4375 0 +0.1562 0.4375 0.03125 +0.1562 0.4375 0.0625 +0.1562 0.4375 0.09375 +0.1562 0.4375 0.125 +0.1562 0.4375 0.1562 +0.1562 0.4375 0.1875 +0.1562 0.4375 0.2188 +0.1562 0.4375 0.25 +0.1562 0.4375 0.2812 +0.1562 0.4375 0.3125 +0.1562 0.4375 0.3438 +0.1562 0.4375 0.375 +0.1562 0.4375 0.4062 +0.1562 0.4375 0.4375 +0.1562 0.4375 0.4688 +0.1562 0.4375 0.5 +0.1562 0.4375 0.5312 +0.1562 0.4375 0.5625 +0.1562 0.4375 0.5938 +0.1562 0.4375 0.625 +0.1562 0.4375 0.6562 +0.1562 0.4375 0.6875 +0.1562 0.4375 0.7188 +0.1562 0.4375 0.75 +0.1562 0.4375 0.7812 +0.1562 0.4375 0.8125 +0.1562 0.4375 0.8438 +0.1562 0.4375 0.875 +0.1562 0.4375 0.9062 +0.1562 0.4375 0.9375 +0.1562 0.4375 0.9688 +0.1562 0.4375 1 +0.1562 0.4688 0 +0.1562 0.4688 0.03125 +0.1562 0.4688 0.0625 +0.1562 0.4688 0.09375 +0.1562 0.4688 0.125 +0.1562 0.4688 0.1562 +0.1562 0.4688 0.1875 +0.1562 0.4688 0.2188 +0.1562 0.4688 0.25 +0.1562 0.4688 0.2812 +0.1562 0.4688 0.3125 +0.1562 0.4688 0.3438 +0.1562 0.4688 0.375 +0.1562 0.4688 0.4062 +0.1562 0.4688 0.4375 +0.1562 0.4688 0.4688 +0.1562 0.4688 0.5 +0.1562 0.4688 0.5312 +0.1562 0.4688 0.5625 +0.1562 0.4688 0.5938 +0.1562 0.4688 0.625 +0.1562 0.4688 0.6562 +0.1562 0.4688 0.6875 +0.1562 0.4688 0.7188 +0.1562 0.4688 0.75 +0.1562 0.4688 0.7812 +0.1562 0.4688 0.8125 +0.1562 0.4688 0.8438 +0.1562 0.4688 0.875 +0.1562 0.4688 0.9062 +0.1562 0.4688 0.9375 +0.1562 0.4688 0.9688 +0.1562 0.4688 1 +0.1562 0.5 0 +0.1562 0.5 0.03125 +0.1562 0.5 0.0625 +0.1562 0.5 0.09375 +0.1562 0.5 0.125 +0.1562 0.5 0.1562 +0.1562 0.5 0.1875 +0.1562 0.5 0.2188 +0.1562 0.5 0.25 +0.1562 0.5 0.2812 +0.1562 0.5 0.3125 +0.1562 0.5 0.3438 +0.1562 0.5 0.375 +0.1562 0.5 0.4062 +0.1562 0.5 0.4375 +0.1562 0.5 0.4688 +0.1562 0.5 0.5 +0.1562 0.5 0.5312 +0.1562 0.5 0.5625 +0.1562 0.5 0.5938 +0.1562 0.5 0.625 +0.1562 0.5 0.6562 +0.1562 0.5 0.6875 +0.1562 0.5 0.7188 +0.1562 0.5 0.75 +0.1562 0.5 0.7812 +0.1562 0.5 0.8125 +0.1562 0.5 0.8438 +0.1562 0.5 0.875 +0.1562 0.5 0.9062 +0.1562 0.5 0.9375 +0.1562 0.5 0.9688 +0.1562 0.5 1 +0.1562 0.5312 0 +0.1562 0.5312 0.03125 +0.1562 0.5312 0.0625 +0.1562 0.5312 0.09375 +0.1562 0.5312 0.125 +0.1562 0.5312 0.1562 +0.1562 0.5312 0.1875 +0.1562 0.5312 0.2188 +0.1562 0.5312 0.25 +0.1562 0.5312 0.2812 +0.1562 0.5312 0.3125 +0.1562 0.5312 0.3438 +0.1562 0.5312 0.375 +0.1562 0.5312 0.4062 +0.1562 0.5312 0.4375 +0.1562 0.5312 0.4688 +0.1562 0.5312 0.5 +0.1562 0.5312 0.5312 +0.1562 0.5312 0.5625 +0.1562 0.5312 0.5938 +0.1562 0.5312 0.625 +0.1562 0.5312 0.6562 +0.1562 0.5312 0.6875 +0.1562 0.5312 0.7188 +0.1562 0.5312 0.75 +0.1562 0.5312 0.7812 +0.1562 0.5312 0.8125 +0.1562 0.5312 0.8438 +0.1562 0.5312 0.875 +0.1562 0.5312 0.9062 +0.1562 0.5312 0.9375 +0.1562 0.5312 0.9688 +0.1562 0.5312 1 +0.1562 0.5625 0 +0.1562 0.5625 0.03125 +0.1562 0.5625 0.0625 +0.1562 0.5625 0.09375 +0.1562 0.5625 0.125 +0.1562 0.5625 0.1562 +0.1562 0.5625 0.1875 +0.1562 0.5625 0.2188 +0.1562 0.5625 0.25 +0.1562 0.5625 0.2812 +0.1562 0.5625 0.3125 +0.1562 0.5625 0.3438 +0.1562 0.5625 0.375 +0.1562 0.5625 0.4062 +0.1562 0.5625 0.4375 +0.1562 0.5625 0.4688 +0.1562 0.5625 0.5 +0.1562 0.5625 0.5312 +0.1562 0.5625 0.5625 +0.1562 0.5625 0.5938 +0.1562 0.5625 0.625 +0.1562 0.5625 0.6562 +0.1562 0.5625 0.6875 +0.1562 0.5625 0.7188 +0.1562 0.5625 0.75 +0.1562 0.5625 0.7812 +0.1562 0.5625 0.8125 +0.1562 0.5625 0.8438 +0.1562 0.5625 0.875 +0.1562 0.5625 0.9062 +0.1562 0.5625 0.9375 +0.1562 0.5625 0.9688 +0.1562 0.5625 1 +0.1562 0.5938 0 +0.1562 0.5938 0.03125 +0.1562 0.5938 0.0625 +0.1562 0.5938 0.09375 +0.1562 0.5938 0.125 +0.1562 0.5938 0.1562 +0.1562 0.5938 0.1875 +0.1562 0.5938 0.2188 +0.1562 0.5938 0.25 +0.1562 0.5938 0.2812 +0.1562 0.5938 0.3125 +0.1562 0.5938 0.3438 +0.1562 0.5938 0.375 +0.1562 0.5938 0.4062 +0.1562 0.5938 0.4375 +0.1562 0.5938 0.4688 +0.1562 0.5938 0.5 +0.1562 0.5938 0.5312 +0.1562 0.5938 0.5625 +0.1562 0.5938 0.5938 +0.1562 0.5938 0.625 +0.1562 0.5938 0.6562 +0.1562 0.5938 0.6875 +0.1562 0.5938 0.7188 +0.1562 0.5938 0.75 +0.1562 0.5938 0.7812 +0.1562 0.5938 0.8125 +0.1562 0.5938 0.8438 +0.1562 0.5938 0.875 +0.1562 0.5938 0.9062 +0.1562 0.5938 0.9375 +0.1562 0.5938 0.9688 +0.1562 0.5938 1 +0.1562 0.625 0 +0.1562 0.625 0.03125 +0.1562 0.625 0.0625 +0.1562 0.625 0.09375 +0.1562 0.625 0.125 +0.1562 0.625 0.1562 +0.1562 0.625 0.1875 +0.1562 0.625 0.2188 +0.1562 0.625 0.25 +0.1562 0.625 0.2812 +0.1562 0.625 0.3125 +0.1562 0.625 0.3438 +0.1562 0.625 0.375 +0.1562 0.625 0.4062 +0.1562 0.625 0.4375 +0.1562 0.625 0.4688 +0.1562 0.625 0.5 +0.1562 0.625 0.5312 +0.1562 0.625 0.5625 +0.1562 0.625 0.5938 +0.1562 0.625 0.625 +0.1562 0.625 0.6562 +0.1562 0.625 0.6875 +0.1562 0.625 0.7188 +0.1562 0.625 0.75 +0.1562 0.625 0.7812 +0.1562 0.625 0.8125 +0.1562 0.625 0.8438 +0.1562 0.625 0.875 +0.1562 0.625 0.9062 +0.1562 0.625 0.9375 +0.1562 0.625 0.9688 +0.1562 0.625 1 +0.1562 0.6562 0 +0.1562 0.6562 0.03125 +0.1562 0.6562 0.0625 +0.1562 0.6562 0.09375 +0.1562 0.6562 0.125 +0.1562 0.6562 0.1562 +0.1562 0.6562 0.1875 +0.1562 0.6562 0.2188 +0.1562 0.6562 0.25 +0.1562 0.6562 0.2812 +0.1562 0.6562 0.3125 +0.1562 0.6562 0.3438 +0.1562 0.6562 0.375 +0.1562 0.6562 0.4062 +0.1562 0.6562 0.4375 +0.1562 0.6562 0.4688 +0.1562 0.6562 0.5 +0.1562 0.6562 0.5312 +0.1562 0.6562 0.5625 +0.1562 0.6562 0.5938 +0.1562 0.6562 0.625 +0.1562 0.6562 0.6562 +0.1562 0.6562 0.6875 +0.1562 0.6562 0.7188 +0.1562 0.6562 0.75 +0.1562 0.6562 0.7812 +0.1562 0.6562 0.8125 +0.1562 0.6562 0.8438 +0.1562 0.6562 0.875 +0.1562 0.6562 0.9062 +0.1562 0.6562 0.9375 +0.1562 0.6562 0.9688 +0.1562 0.6562 1 +0.1562 0.6875 0 +0.1562 0.6875 0.03125 +0.1562 0.6875 0.0625 +0.1562 0.6875 0.09375 +0.1562 0.6875 0.125 +0.1562 0.6875 0.1562 +0.1562 0.6875 0.1875 +0.1562 0.6875 0.2188 +0.1562 0.6875 0.25 +0.1562 0.6875 0.2812 +0.1562 0.6875 0.3125 +0.1562 0.6875 0.3438 +0.1562 0.6875 0.375 +0.1562 0.6875 0.4062 +0.1562 0.6875 0.4375 +0.1562 0.6875 0.4688 +0.1562 0.6875 0.5 +0.1562 0.6875 0.5312 +0.1562 0.6875 0.5625 +0.1562 0.6875 0.5938 +0.1562 0.6875 0.625 +0.1562 0.6875 0.6562 +0.1562 0.6875 0.6875 +0.1562 0.6875 0.7188 +0.1562 0.6875 0.75 +0.1562 0.6875 0.7812 +0.1562 0.6875 0.8125 +0.1562 0.6875 0.8438 +0.1562 0.6875 0.875 +0.1562 0.6875 0.9062 +0.1562 0.6875 0.9375 +0.1562 0.6875 0.9688 +0.1562 0.6875 1 +0.1562 0.7188 0 +0.1562 0.7188 0.03125 +0.1562 0.7188 0.0625 +0.1562 0.7188 0.09375 +0.1562 0.7188 0.125 +0.1562 0.7188 0.1562 +0.1562 0.7188 0.1875 +0.1562 0.7188 0.2188 +0.1562 0.7188 0.25 +0.1562 0.7188 0.2812 +0.1562 0.7188 0.3125 +0.1562 0.7188 0.3438 +0.1562 0.7188 0.375 +0.1562 0.7188 0.4062 +0.1562 0.7188 0.4375 +0.1562 0.7188 0.4688 +0.1562 0.7188 0.5 +0.1562 0.7188 0.5312 +0.1562 0.7188 0.5625 +0.1562 0.7188 0.5938 +0.1562 0.7188 0.625 +0.1562 0.7188 0.6562 +0.1562 0.7188 0.6875 +0.1562 0.7188 0.7188 +0.1562 0.7188 0.75 +0.1562 0.7188 0.7812 +0.1562 0.7188 0.8125 +0.1562 0.7188 0.8438 +0.1562 0.7188 0.875 +0.1562 0.7188 0.9062 +0.1562 0.7188 0.9375 +0.1562 0.7188 0.9688 +0.1562 0.7188 1 +0.1562 0.75 0 +0.1562 0.75 0.03125 +0.1562 0.75 0.0625 +0.1562 0.75 0.09375 +0.1562 0.75 0.125 +0.1562 0.75 0.1562 +0.1562 0.75 0.1875 +0.1562 0.75 0.2188 +0.1562 0.75 0.25 +0.1562 0.75 0.2812 +0.1562 0.75 0.3125 +0.1562 0.75 0.3438 +0.1562 0.75 0.375 +0.1562 0.75 0.4062 +0.1562 0.75 0.4375 +0.1562 0.75 0.4688 +0.1562 0.75 0.5 +0.1562 0.75 0.5312 +0.1562 0.75 0.5625 +0.1562 0.75 0.5938 +0.1562 0.75 0.625 +0.1562 0.75 0.6562 +0.1562 0.75 0.6875 +0.1562 0.75 0.7188 +0.1562 0.75 0.75 +0.1562 0.75 0.7812 +0.1562 0.75 0.8125 +0.1562 0.75 0.8438 +0.1562 0.75 0.875 +0.1562 0.75 0.9062 +0.1562 0.75 0.9375 +0.1562 0.75 0.9688 +0.1562 0.75 1 +0.1562 0.7812 0 +0.1562 0.7812 0.03125 +0.1562 0.7812 0.0625 +0.1562 0.7812 0.09375 +0.1562 0.7812 0.125 +0.1562 0.7812 0.1562 +0.1562 0.7812 0.1875 +0.1562 0.7812 0.2188 +0.1562 0.7812 0.25 +0.1562 0.7812 0.2812 +0.1562 0.7812 0.3125 +0.1562 0.7812 0.3438 +0.1562 0.7812 0.375 +0.1562 0.7812 0.4062 +0.1562 0.7812 0.4375 +0.1562 0.7812 0.4688 +0.1562 0.7812 0.5 +0.1562 0.7812 0.5312 +0.1562 0.7812 0.5625 +0.1562 0.7812 0.5938 +0.1562 0.7812 0.625 +0.1562 0.7812 0.6562 +0.1562 0.7812 0.6875 +0.1562 0.7812 0.7188 +0.1562 0.7812 0.75 +0.1562 0.7812 0.7812 +0.1562 0.7812 0.8125 +0.1562 0.7812 0.8438 +0.1562 0.7812 0.875 +0.1562 0.7812 0.9062 +0.1562 0.7812 0.9375 +0.1562 0.7812 0.9688 +0.1562 0.7812 1 +0.1562 0.8125 0 +0.1562 0.8125 0.03125 +0.1562 0.8125 0.0625 +0.1562 0.8125 0.09375 +0.1562 0.8125 0.125 +0.1562 0.8125 0.1562 +0.1562 0.8125 0.1875 +0.1562 0.8125 0.2188 +0.1562 0.8125 0.25 +0.1562 0.8125 0.2812 +0.1562 0.8125 0.3125 +0.1562 0.8125 0.3438 +0.1562 0.8125 0.375 +0.1562 0.8125 0.4062 +0.1562 0.8125 0.4375 +0.1562 0.8125 0.4688 +0.1562 0.8125 0.5 +0.1562 0.8125 0.5312 +0.1562 0.8125 0.5625 +0.1562 0.8125 0.5938 +0.1562 0.8125 0.625 +0.1562 0.8125 0.6562 +0.1562 0.8125 0.6875 +0.1562 0.8125 0.7188 +0.1562 0.8125 0.75 +0.1562 0.8125 0.7812 +0.1562 0.8125 0.8125 +0.1562 0.8125 0.8438 +0.1562 0.8125 0.875 +0.1562 0.8125 0.9062 +0.1562 0.8125 0.9375 +0.1562 0.8125 0.9688 +0.1562 0.8125 1 +0.1562 0.8438 0 +0.1562 0.8438 0.03125 +0.1562 0.8438 0.0625 +0.1562 0.8438 0.09375 +0.1562 0.8438 0.125 +0.1562 0.8438 0.1562 +0.1562 0.8438 0.1875 +0.1562 0.8438 0.2188 +0.1562 0.8438 0.25 +0.1562 0.8438 0.2812 +0.1562 0.8438 0.3125 +0.1562 0.8438 0.3438 +0.1562 0.8438 0.375 +0.1562 0.8438 0.4062 +0.1562 0.8438 0.4375 +0.1562 0.8438 0.4688 +0.1562 0.8438 0.5 +0.1562 0.8438 0.5312 +0.1562 0.8438 0.5625 +0.1562 0.8438 0.5938 +0.1562 0.8438 0.625 +0.1562 0.8438 0.6562 +0.1562 0.8438 0.6875 +0.1562 0.8438 0.7188 +0.1562 0.8438 0.75 +0.1562 0.8438 0.7812 +0.1562 0.8438 0.8125 +0.1562 0.8438 0.8438 +0.1562 0.8438 0.875 +0.1562 0.8438 0.9062 +0.1562 0.8438 0.9375 +0.1562 0.8438 0.9688 +0.1562 0.8438 1 +0.1562 0.875 0 +0.1562 0.875 0.03125 +0.1562 0.875 0.0625 +0.1562 0.875 0.09375 +0.1562 0.875 0.125 +0.1562 0.875 0.1562 +0.1562 0.875 0.1875 +0.1562 0.875 0.2188 +0.1562 0.875 0.25 +0.1562 0.875 0.2812 +0.1562 0.875 0.3125 +0.1562 0.875 0.3438 +0.1562 0.875 0.375 +0.1562 0.875 0.4062 +0.1562 0.875 0.4375 +0.1562 0.875 0.4688 +0.1562 0.875 0.5 +0.1562 0.875 0.5312 +0.1562 0.875 0.5625 +0.1562 0.875 0.5938 +0.1562 0.875 0.625 +0.1562 0.875 0.6562 +0.1562 0.875 0.6875 +0.1562 0.875 0.7188 +0.1562 0.875 0.75 +0.1562 0.875 0.7812 +0.1562 0.875 0.8125 +0.1562 0.875 0.8438 +0.1562 0.875 0.875 +0.1562 0.875 0.9062 +0.1562 0.875 0.9375 +0.1562 0.875 0.9688 +0.1562 0.875 1 +0.1562 0.9062 0 +0.1562 0.9062 0.03125 +0.1562 0.9062 0.0625 +0.1562 0.9062 0.09375 +0.1562 0.9062 0.125 +0.1562 0.9062 0.1562 +0.1562 0.9062 0.1875 +0.1562 0.9062 0.2188 +0.1562 0.9062 0.25 +0.1562 0.9062 0.2812 +0.1562 0.9062 0.3125 +0.1562 0.9062 0.3438 +0.1562 0.9062 0.375 +0.1562 0.9062 0.4062 +0.1562 0.9062 0.4375 +0.1562 0.9062 0.4688 +0.1562 0.9062 0.5 +0.1562 0.9062 0.5312 +0.1562 0.9062 0.5625 +0.1562 0.9062 0.5938 +0.1562 0.9062 0.625 +0.1562 0.9062 0.6562 +0.1562 0.9062 0.6875 +0.1562 0.9062 0.7188 +0.1562 0.9062 0.75 +0.1562 0.9062 0.7812 +0.1562 0.9062 0.8125 +0.1562 0.9062 0.8438 +0.1562 0.9062 0.875 +0.1562 0.9062 0.9062 +0.1562 0.9062 0.9375 +0.1562 0.9062 0.9688 +0.1562 0.9062 1 +0.1562 0.9375 0 +0.1562 0.9375 0.03125 +0.1562 0.9375 0.0625 +0.1562 0.9375 0.09375 +0.1562 0.9375 0.125 +0.1562 0.9375 0.1562 +0.1562 0.9375 0.1875 +0.1562 0.9375 0.2188 +0.1562 0.9375 0.25 +0.1562 0.9375 0.2812 +0.1562 0.9375 0.3125 +0.1562 0.9375 0.3438 +0.1562 0.9375 0.375 +0.1562 0.9375 0.4062 +0.1562 0.9375 0.4375 +0.1562 0.9375 0.4688 +0.1562 0.9375 0.5 +0.1562 0.9375 0.5312 +0.1562 0.9375 0.5625 +0.1562 0.9375 0.5938 +0.1562 0.9375 0.625 +0.1562 0.9375 0.6562 +0.1562 0.9375 0.6875 +0.1562 0.9375 0.7188 +0.1562 0.9375 0.75 +0.1562 0.9375 0.7812 +0.1562 0.9375 0.8125 +0.1562 0.9375 0.8438 +0.1562 0.9375 0.875 +0.1562 0.9375 0.9062 +0.1562 0.9375 0.9375 +0.1562 0.9375 0.9688 +0.1562 0.9375 1 +0.1562 0.9688 0 +0.1562 0.9688 0.03125 +0.1562 0.9688 0.0625 +0.1562 0.9688 0.09375 +0.1562 0.9688 0.125 +0.1562 0.9688 0.1562 +0.1562 0.9688 0.1875 +0.1562 0.9688 0.2188 +0.1562 0.9688 0.25 +0.1562 0.9688 0.2812 +0.1562 0.9688 0.3125 +0.1562 0.9688 0.3438 +0.1562 0.9688 0.375 +0.1562 0.9688 0.4062 +0.1562 0.9688 0.4375 +0.1562 0.9688 0.4688 +0.1562 0.9688 0.5 +0.1562 0.9688 0.5312 +0.1562 0.9688 0.5625 +0.1562 0.9688 0.5938 +0.1562 0.9688 0.625 +0.1562 0.9688 0.6562 +0.1562 0.9688 0.6875 +0.1562 0.9688 0.7188 +0.1562 0.9688 0.75 +0.1562 0.9688 0.7812 +0.1562 0.9688 0.8125 +0.1562 0.9688 0.8438 +0.1562 0.9688 0.875 +0.1562 0.9688 0.9062 +0.1562 0.9688 0.9375 +0.1562 0.9688 0.9688 +0.1562 0.9688 1 +0.1562 1 0 +0.1562 1 0.03125 +0.1562 1 0.0625 +0.1562 1 0.09375 +0.1562 1 0.125 +0.1562 1 0.1562 +0.1562 1 0.1875 +0.1562 1 0.2188 +0.1562 1 0.25 +0.1562 1 0.2812 +0.1562 1 0.3125 +0.1562 1 0.3438 +0.1562 1 0.375 +0.1562 1 0.4062 +0.1562 1 0.4375 +0.1562 1 0.4688 +0.1562 1 0.5 +0.1562 1 0.5312 +0.1562 1 0.5625 +0.1562 1 0.5938 +0.1562 1 0.625 +0.1562 1 0.6562 +0.1562 1 0.6875 +0.1562 1 0.7188 +0.1562 1 0.75 +0.1562 1 0.7812 +0.1562 1 0.8125 +0.1562 1 0.8438 +0.1562 1 0.875 +0.1562 1 0.9062 +0.1562 1 0.9375 +0.1562 1 0.9688 +0.1562 1 1 +0.1875 0 0 +0.1875 0 0.03125 +0.1875 0 0.0625 +0.1875 0 0.09375 +0.1875 0 0.125 +0.1875 0 0.1562 +0.1875 0 0.1875 +0.1875 0 0.2188 +0.1875 0 0.25 +0.1875 0 0.2812 +0.1875 0 0.3125 +0.1875 0 0.3438 +0.1875 0 0.375 +0.1875 0 0.4062 +0.1875 0 0.4375 +0.1875 0 0.4688 +0.1875 0 0.5 +0.1875 0 0.5312 +0.1875 0 0.5625 +0.1875 0 0.5938 +0.1875 0 0.625 +0.1875 0 0.6562 +0.1875 0 0.6875 +0.1875 0 0.7188 +0.1875 0 0.75 +0.1875 0 0.7812 +0.1875 0 0.8125 +0.1875 0 0.8438 +0.1875 0 0.875 +0.1875 0 0.9062 +0.1875 0 0.9375 +0.1875 0 0.9688 +0.1875 0 1 +0.1875 0.03125 0 +0.1875 0.03125 0.03125 +0.1875 0.03125 0.0625 +0.1875 0.03125 0.09375 +0.1875 0.03125 0.125 +0.1875 0.03125 0.1562 +0.1875 0.03125 0.1875 +0.1875 0.03125 0.2188 +0.1875 0.03125 0.25 +0.1875 0.03125 0.2812 +0.1875 0.03125 0.3125 +0.1875 0.03125 0.3438 +0.1875 0.03125 0.375 +0.1875 0.03125 0.4062 +0.1875 0.03125 0.4375 +0.1875 0.03125 0.4688 +0.1875 0.03125 0.5 +0.1875 0.03125 0.5312 +0.1875 0.03125 0.5625 +0.1875 0.03125 0.5938 +0.1875 0.03125 0.625 +0.1875 0.03125 0.6562 +0.1875 0.03125 0.6875 +0.1875 0.03125 0.7188 +0.1875 0.03125 0.75 +0.1875 0.03125 0.7812 +0.1875 0.03125 0.8125 +0.1875 0.03125 0.8438 +0.1875 0.03125 0.875 +0.1875 0.03125 0.9062 +0.1875 0.03125 0.9375 +0.1875 0.03125 0.9688 +0.1875 0.03125 1 +0.1875 0.0625 0 +0.1875 0.0625 0.03125 +0.1875 0.0625 0.0625 +0.1875 0.0625 0.09375 +0.1875 0.0625 0.125 +0.1875 0.0625 0.1562 +0.1875 0.0625 0.1875 +0.1875 0.0625 0.2188 +0.1875 0.0625 0.25 +0.1875 0.0625 0.2812 +0.1875 0.0625 0.3125 +0.1875 0.0625 0.3438 +0.1875 0.0625 0.375 +0.1875 0.0625 0.4062 +0.1875 0.0625 0.4375 +0.1875 0.0625 0.4688 +0.1875 0.0625 0.5 +0.1875 0.0625 0.5312 +0.1875 0.0625 0.5625 +0.1875 0.0625 0.5938 +0.1875 0.0625 0.625 +0.1875 0.0625 0.6562 +0.1875 0.0625 0.6875 +0.1875 0.0625 0.7188 +0.1875 0.0625 0.75 +0.1875 0.0625 0.7812 +0.1875 0.0625 0.8125 +0.1875 0.0625 0.8438 +0.1875 0.0625 0.875 +0.1875 0.0625 0.9062 +0.1875 0.0625 0.9375 +0.1875 0.0625 0.9688 +0.1875 0.0625 1 +0.1875 0.09375 0 +0.1875 0.09375 0.03125 +0.1875 0.09375 0.0625 +0.1875 0.09375 0.09375 +0.1875 0.09375 0.125 +0.1875 0.09375 0.1562 +0.1875 0.09375 0.1875 +0.1875 0.09375 0.2188 +0.1875 0.09375 0.25 +0.1875 0.09375 0.2812 +0.1875 0.09375 0.3125 +0.1875 0.09375 0.3438 +0.1875 0.09375 0.375 +0.1875 0.09375 0.4062 +0.1875 0.09375 0.4375 +0.1875 0.09375 0.4688 +0.1875 0.09375 0.5 +0.1875 0.09375 0.5312 +0.1875 0.09375 0.5625 +0.1875 0.09375 0.5938 +0.1875 0.09375 0.625 +0.1875 0.09375 0.6562 +0.1875 0.09375 0.6875 +0.1875 0.09375 0.7188 +0.1875 0.09375 0.75 +0.1875 0.09375 0.7812 +0.1875 0.09375 0.8125 +0.1875 0.09375 0.8438 +0.1875 0.09375 0.875 +0.1875 0.09375 0.9062 +0.1875 0.09375 0.9375 +0.1875 0.09375 0.9688 +0.1875 0.09375 1 +0.1875 0.125 0 +0.1875 0.125 0.03125 +0.1875 0.125 0.0625 +0.1875 0.125 0.09375 +0.1875 0.125 0.125 +0.1875 0.125 0.1562 +0.1875 0.125 0.1875 +0.1875 0.125 0.2188 +0.1875 0.125 0.25 +0.1875 0.125 0.2812 +0.1875 0.125 0.3125 +0.1875 0.125 0.3438 +0.1875 0.125 0.375 +0.1875 0.125 0.4062 +0.1875 0.125 0.4375 +0.1875 0.125 0.4688 +0.1875 0.125 0.5 +0.1875 0.125 0.5312 +0.1875 0.125 0.5625 +0.1875 0.125 0.5938 +0.1875 0.125 0.625 +0.1875 0.125 0.6562 +0.1875 0.125 0.6875 +0.1875 0.125 0.7188 +0.1875 0.125 0.75 +0.1875 0.125 0.7812 +0.1875 0.125 0.8125 +0.1875 0.125 0.8438 +0.1875 0.125 0.875 +0.1875 0.125 0.9062 +0.1875 0.125 0.9375 +0.1875 0.125 0.9688 +0.1875 0.125 1 +0.1875 0.1562 0 +0.1875 0.1562 0.03125 +0.1875 0.1562 0.0625 +0.1875 0.1562 0.09375 +0.1875 0.1562 0.125 +0.1875 0.1562 0.1562 +0.1875 0.1562 0.1875 +0.1875 0.1562 0.2188 +0.1875 0.1562 0.25 +0.1875 0.1562 0.2812 +0.1875 0.1562 0.3125 +0.1875 0.1562 0.3438 +0.1875 0.1562 0.375 +0.1875 0.1562 0.4062 +0.1875 0.1562 0.4375 +0.1875 0.1562 0.4688 +0.1875 0.1562 0.5 +0.1875 0.1562 0.5312 +0.1875 0.1562 0.5625 +0.1875 0.1562 0.5938 +0.1875 0.1562 0.625 +0.1875 0.1562 0.6562 +0.1875 0.1562 0.6875 +0.1875 0.1562 0.7188 +0.1875 0.1562 0.75 +0.1875 0.1562 0.7812 +0.1875 0.1562 0.8125 +0.1875 0.1562 0.8438 +0.1875 0.1562 0.875 +0.1875 0.1562 0.9062 +0.1875 0.1562 0.9375 +0.1875 0.1562 0.9688 +0.1875 0.1562 1 +0.1875 0.1875 0 +0.1875 0.1875 0.03125 +0.1875 0.1875 0.0625 +0.1875 0.1875 0.09375 +0.1875 0.1875 0.125 +0.1875 0.1875 0.1562 +0.1875 0.1875 0.1875 +0.1875 0.1875 0.2188 +0.1875 0.1875 0.25 +0.1875 0.1875 0.2812 +0.1875 0.1875 0.3125 +0.1875 0.1875 0.3438 +0.1875 0.1875 0.375 +0.1875 0.1875 0.4062 +0.1875 0.1875 0.4375 +0.1875 0.1875 0.4688 +0.1875 0.1875 0.5 +0.1875 0.1875 0.5312 +0.1875 0.1875 0.5625 +0.1875 0.1875 0.5938 +0.1875 0.1875 0.625 +0.1875 0.1875 0.6562 +0.1875 0.1875 0.6875 +0.1875 0.1875 0.7188 +0.1875 0.1875 0.75 +0.1875 0.1875 0.7812 +0.1875 0.1875 0.8125 +0.1875 0.1875 0.8438 +0.1875 0.1875 0.875 +0.1875 0.1875 0.9062 +0.1875 0.1875 0.9375 +0.1875 0.1875 0.9688 +0.1875 0.1875 1 +0.1875 0.2188 0 +0.1875 0.2188 0.03125 +0.1875 0.2188 0.0625 +0.1875 0.2188 0.09375 +0.1875 0.2188 0.125 +0.1875 0.2188 0.1562 +0.1875 0.2188 0.1875 +0.1875 0.2188 0.2188 +0.1875 0.2188 0.25 +0.1875 0.2188 0.2812 +0.1875 0.2188 0.3125 +0.1875 0.2188 0.3438 +0.1875 0.2188 0.375 +0.1875 0.2188 0.4062 +0.1875 0.2188 0.4375 +0.1875 0.2188 0.4688 +0.1875 0.2188 0.5 +0.1875 0.2188 0.5312 +0.1875 0.2188 0.5625 +0.1875 0.2188 0.5938 +0.1875 0.2188 0.625 +0.1875 0.2188 0.6562 +0.1875 0.2188 0.6875 +0.1875 0.2188 0.7188 +0.1875 0.2188 0.75 +0.1875 0.2188 0.7812 +0.1875 0.2188 0.8125 +0.1875 0.2188 0.8438 +0.1875 0.2188 0.875 +0.1875 0.2188 0.9062 +0.1875 0.2188 0.9375 +0.1875 0.2188 0.9688 +0.1875 0.2188 1 +0.1875 0.25 0 +0.1875 0.25 0.03125 +0.1875 0.25 0.0625 +0.1875 0.25 0.09375 +0.1875 0.25 0.125 +0.1875 0.25 0.1562 +0.1875 0.25 0.1875 +0.1875 0.25 0.2188 +0.1875 0.25 0.25 +0.1875 0.25 0.2812 +0.1875 0.25 0.3125 +0.1875 0.25 0.3438 +0.1875 0.25 0.375 +0.1875 0.25 0.4062 +0.1875 0.25 0.4375 +0.1875 0.25 0.4688 +0.1875 0.25 0.5 +0.1875 0.25 0.5312 +0.1875 0.25 0.5625 +0.1875 0.25 0.5938 +0.1875 0.25 0.625 +0.1875 0.25 0.6562 +0.1875 0.25 0.6875 +0.1875 0.25 0.7188 +0.1875 0.25 0.75 +0.1875 0.25 0.7812 +0.1875 0.25 0.8125 +0.1875 0.25 0.8438 +0.1875 0.25 0.875 +0.1875 0.25 0.9062 +0.1875 0.25 0.9375 +0.1875 0.25 0.9688 +0.1875 0.25 1 +0.1875 0.2812 0 +0.1875 0.2812 0.03125 +0.1875 0.2812 0.0625 +0.1875 0.2812 0.09375 +0.1875 0.2812 0.125 +0.1875 0.2812 0.1562 +0.1875 0.2812 0.1875 +0.1875 0.2812 0.2188 +0.1875 0.2812 0.25 +0.1875 0.2812 0.2812 +0.1875 0.2812 0.3125 +0.1875 0.2812 0.3438 +0.1875 0.2812 0.375 +0.1875 0.2812 0.4062 +0.1875 0.2812 0.4375 +0.1875 0.2812 0.4688 +0.1875 0.2812 0.5 +0.1875 0.2812 0.5312 +0.1875 0.2812 0.5625 +0.1875 0.2812 0.5938 +0.1875 0.2812 0.625 +0.1875 0.2812 0.6562 +0.1875 0.2812 0.6875 +0.1875 0.2812 0.7188 +0.1875 0.2812 0.75 +0.1875 0.2812 0.7812 +0.1875 0.2812 0.8125 +0.1875 0.2812 0.8438 +0.1875 0.2812 0.875 +0.1875 0.2812 0.9062 +0.1875 0.2812 0.9375 +0.1875 0.2812 0.9688 +0.1875 0.2812 1 +0.1875 0.3125 0 +0.1875 0.3125 0.03125 +0.1875 0.3125 0.0625 +0.1875 0.3125 0.09375 +0.1875 0.3125 0.125 +0.1875 0.3125 0.1562 +0.1875 0.3125 0.1875 +0.1875 0.3125 0.2188 +0.1875 0.3125 0.25 +0.1875 0.3125 0.2812 +0.1875 0.3125 0.3125 +0.1875 0.3125 0.3438 +0.1875 0.3125 0.375 +0.1875 0.3125 0.4062 +0.1875 0.3125 0.4375 +0.1875 0.3125 0.4688 +0.1875 0.3125 0.5 +0.1875 0.3125 0.5312 +0.1875 0.3125 0.5625 +0.1875 0.3125 0.5938 +0.1875 0.3125 0.625 +0.1875 0.3125 0.6562 +0.1875 0.3125 0.6875 +0.1875 0.3125 0.7188 +0.1875 0.3125 0.75 +0.1875 0.3125 0.7812 +0.1875 0.3125 0.8125 +0.1875 0.3125 0.8438 +0.1875 0.3125 0.875 +0.1875 0.3125 0.9062 +0.1875 0.3125 0.9375 +0.1875 0.3125 0.9688 +0.1875 0.3125 1 +0.1875 0.3438 0 +0.1875 0.3438 0.03125 +0.1875 0.3438 0.0625 +0.1875 0.3438 0.09375 +0.1875 0.3438 0.125 +0.1875 0.3438 0.1562 +0.1875 0.3438 0.1875 +0.1875 0.3438 0.2188 +0.1875 0.3438 0.25 +0.1875 0.3438 0.2812 +0.1875 0.3438 0.3125 +0.1875 0.3438 0.3438 +0.1875 0.3438 0.375 +0.1875 0.3438 0.4062 +0.1875 0.3438 0.4375 +0.1875 0.3438 0.4688 +0.1875 0.3438 0.5 +0.1875 0.3438 0.5312 +0.1875 0.3438 0.5625 +0.1875 0.3438 0.5938 +0.1875 0.3438 0.625 +0.1875 0.3438 0.6562 +0.1875 0.3438 0.6875 +0.1875 0.3438 0.7188 +0.1875 0.3438 0.75 +0.1875 0.3438 0.7812 +0.1875 0.3438 0.8125 +0.1875 0.3438 0.8438 +0.1875 0.3438 0.875 +0.1875 0.3438 0.9062 +0.1875 0.3438 0.9375 +0.1875 0.3438 0.9688 +0.1875 0.3438 1 +0.1875 0.375 0 +0.1875 0.375 0.03125 +0.1875 0.375 0.0625 +0.1875 0.375 0.09375 +0.1875 0.375 0.125 +0.1875 0.375 0.1562 +0.1875 0.375 0.1875 +0.1875 0.375 0.2188 +0.1875 0.375 0.25 +0.1875 0.375 0.2812 +0.1875 0.375 0.3125 +0.1875 0.375 0.3438 +0.1875 0.375 0.375 +0.1875 0.375 0.4062 +0.1875 0.375 0.4375 +0.1875 0.375 0.4688 +0.1875 0.375 0.5 +0.1875 0.375 0.5312 +0.1875 0.375 0.5625 +0.1875 0.375 0.5938 +0.1875 0.375 0.625 +0.1875 0.375 0.6562 +0.1875 0.375 0.6875 +0.1875 0.375 0.7188 +0.1875 0.375 0.75 +0.1875 0.375 0.7812 +0.1875 0.375 0.8125 +0.1875 0.375 0.8438 +0.1875 0.375 0.875 +0.1875 0.375 0.9062 +0.1875 0.375 0.9375 +0.1875 0.375 0.9688 +0.1875 0.375 1 +0.1875 0.4062 0 +0.1875 0.4062 0.03125 +0.1875 0.4062 0.0625 +0.1875 0.4062 0.09375 +0.1875 0.4062 0.125 +0.1875 0.4062 0.1562 +0.1875 0.4062 0.1875 +0.1875 0.4062 0.2188 +0.1875 0.4062 0.25 +0.1875 0.4062 0.2812 +0.1875 0.4062 0.3125 +0.1875 0.4062 0.3438 +0.1875 0.4062 0.375 +0.1875 0.4062 0.4062 +0.1875 0.4062 0.4375 +0.1875 0.4062 0.4688 +0.1875 0.4062 0.5 +0.1875 0.4062 0.5312 +0.1875 0.4062 0.5625 +0.1875 0.4062 0.5938 +0.1875 0.4062 0.625 +0.1875 0.4062 0.6562 +0.1875 0.4062 0.6875 +0.1875 0.4062 0.7188 +0.1875 0.4062 0.75 +0.1875 0.4062 0.7812 +0.1875 0.4062 0.8125 +0.1875 0.4062 0.8438 +0.1875 0.4062 0.875 +0.1875 0.4062 0.9062 +0.1875 0.4062 0.9375 +0.1875 0.4062 0.9688 +0.1875 0.4062 1 +0.1875 0.4375 0 +0.1875 0.4375 0.03125 +0.1875 0.4375 0.0625 +0.1875 0.4375 0.09375 +0.1875 0.4375 0.125 +0.1875 0.4375 0.1562 +0.1875 0.4375 0.1875 +0.1875 0.4375 0.2188 +0.1875 0.4375 0.25 +0.1875 0.4375 0.2812 +0.1875 0.4375 0.3125 +0.1875 0.4375 0.3438 +0.1875 0.4375 0.375 +0.1875 0.4375 0.4062 +0.1875 0.4375 0.4375 +0.1875 0.4375 0.4688 +0.1875 0.4375 0.5 +0.1875 0.4375 0.5312 +0.1875 0.4375 0.5625 +0.1875 0.4375 0.5938 +0.1875 0.4375 0.625 +0.1875 0.4375 0.6562 +0.1875 0.4375 0.6875 +0.1875 0.4375 0.7188 +0.1875 0.4375 0.75 +0.1875 0.4375 0.7812 +0.1875 0.4375 0.8125 +0.1875 0.4375 0.8438 +0.1875 0.4375 0.875 +0.1875 0.4375 0.9062 +0.1875 0.4375 0.9375 +0.1875 0.4375 0.9688 +0.1875 0.4375 1 +0.1875 0.4688 0 +0.1875 0.4688 0.03125 +0.1875 0.4688 0.0625 +0.1875 0.4688 0.09375 +0.1875 0.4688 0.125 +0.1875 0.4688 0.1562 +0.1875 0.4688 0.1875 +0.1875 0.4688 0.2188 +0.1875 0.4688 0.25 +0.1875 0.4688 0.2812 +0.1875 0.4688 0.3125 +0.1875 0.4688 0.3438 +0.1875 0.4688 0.375 +0.1875 0.4688 0.4062 +0.1875 0.4688 0.4375 +0.1875 0.4688 0.4688 +0.1875 0.4688 0.5 +0.1875 0.4688 0.5312 +0.1875 0.4688 0.5625 +0.1875 0.4688 0.5938 +0.1875 0.4688 0.625 +0.1875 0.4688 0.6562 +0.1875 0.4688 0.6875 +0.1875 0.4688 0.7188 +0.1875 0.4688 0.75 +0.1875 0.4688 0.7812 +0.1875 0.4688 0.8125 +0.1875 0.4688 0.8438 +0.1875 0.4688 0.875 +0.1875 0.4688 0.9062 +0.1875 0.4688 0.9375 +0.1875 0.4688 0.9688 +0.1875 0.4688 1 +0.1875 0.5 0 +0.1875 0.5 0.03125 +0.1875 0.5 0.0625 +0.1875 0.5 0.09375 +0.1875 0.5 0.125 +0.1875 0.5 0.1562 +0.1875 0.5 0.1875 +0.1875 0.5 0.2188 +0.1875 0.5 0.25 +0.1875 0.5 0.2812 +0.1875 0.5 0.3125 +0.1875 0.5 0.3438 +0.1875 0.5 0.375 +0.1875 0.5 0.4062 +0.1875 0.5 0.4375 +0.1875 0.5 0.4688 +0.1875 0.5 0.5 +0.1875 0.5 0.5312 +0.1875 0.5 0.5625 +0.1875 0.5 0.5938 +0.1875 0.5 0.625 +0.1875 0.5 0.6562 +0.1875 0.5 0.6875 +0.1875 0.5 0.7188 +0.1875 0.5 0.75 +0.1875 0.5 0.7812 +0.1875 0.5 0.8125 +0.1875 0.5 0.8438 +0.1875 0.5 0.875 +0.1875 0.5 0.9062 +0.1875 0.5 0.9375 +0.1875 0.5 0.9688 +0.1875 0.5 1 +0.1875 0.5312 0 +0.1875 0.5312 0.03125 +0.1875 0.5312 0.0625 +0.1875 0.5312 0.09375 +0.1875 0.5312 0.125 +0.1875 0.5312 0.1562 +0.1875 0.5312 0.1875 +0.1875 0.5312 0.2188 +0.1875 0.5312 0.25 +0.1875 0.5312 0.2812 +0.1875 0.5312 0.3125 +0.1875 0.5312 0.3438 +0.1875 0.5312 0.375 +0.1875 0.5312 0.4062 +0.1875 0.5312 0.4375 +0.1875 0.5312 0.4688 +0.1875 0.5312 0.5 +0.1875 0.5312 0.5312 +0.1875 0.5312 0.5625 +0.1875 0.5312 0.5938 +0.1875 0.5312 0.625 +0.1875 0.5312 0.6562 +0.1875 0.5312 0.6875 +0.1875 0.5312 0.7188 +0.1875 0.5312 0.75 +0.1875 0.5312 0.7812 +0.1875 0.5312 0.8125 +0.1875 0.5312 0.8438 +0.1875 0.5312 0.875 +0.1875 0.5312 0.9062 +0.1875 0.5312 0.9375 +0.1875 0.5312 0.9688 +0.1875 0.5312 1 +0.1875 0.5625 0 +0.1875 0.5625 0.03125 +0.1875 0.5625 0.0625 +0.1875 0.5625 0.09375 +0.1875 0.5625 0.125 +0.1875 0.5625 0.1562 +0.1875 0.5625 0.1875 +0.1875 0.5625 0.2188 +0.1875 0.5625 0.25 +0.1875 0.5625 0.2812 +0.1875 0.5625 0.3125 +0.1875 0.5625 0.3438 +0.1875 0.5625 0.375 +0.1875 0.5625 0.4062 +0.1875 0.5625 0.4375 +0.1875 0.5625 0.4688 +0.1875 0.5625 0.5 +0.1875 0.5625 0.5312 +0.1875 0.5625 0.5625 +0.1875 0.5625 0.5938 +0.1875 0.5625 0.625 +0.1875 0.5625 0.6562 +0.1875 0.5625 0.6875 +0.1875 0.5625 0.7188 +0.1875 0.5625 0.75 +0.1875 0.5625 0.7812 +0.1875 0.5625 0.8125 +0.1875 0.5625 0.8438 +0.1875 0.5625 0.875 +0.1875 0.5625 0.9062 +0.1875 0.5625 0.9375 +0.1875 0.5625 0.9688 +0.1875 0.5625 1 +0.1875 0.5938 0 +0.1875 0.5938 0.03125 +0.1875 0.5938 0.0625 +0.1875 0.5938 0.09375 +0.1875 0.5938 0.125 +0.1875 0.5938 0.1562 +0.1875 0.5938 0.1875 +0.1875 0.5938 0.2188 +0.1875 0.5938 0.25 +0.1875 0.5938 0.2812 +0.1875 0.5938 0.3125 +0.1875 0.5938 0.3438 +0.1875 0.5938 0.375 +0.1875 0.5938 0.4062 +0.1875 0.5938 0.4375 +0.1875 0.5938 0.4688 +0.1875 0.5938 0.5 +0.1875 0.5938 0.5312 +0.1875 0.5938 0.5625 +0.1875 0.5938 0.5938 +0.1875 0.5938 0.625 +0.1875 0.5938 0.6562 +0.1875 0.5938 0.6875 +0.1875 0.5938 0.7188 +0.1875 0.5938 0.75 +0.1875 0.5938 0.7812 +0.1875 0.5938 0.8125 +0.1875 0.5938 0.8438 +0.1875 0.5938 0.875 +0.1875 0.5938 0.9062 +0.1875 0.5938 0.9375 +0.1875 0.5938 0.9688 +0.1875 0.5938 1 +0.1875 0.625 0 +0.1875 0.625 0.03125 +0.1875 0.625 0.0625 +0.1875 0.625 0.09375 +0.1875 0.625 0.125 +0.1875 0.625 0.1562 +0.1875 0.625 0.1875 +0.1875 0.625 0.2188 +0.1875 0.625 0.25 +0.1875 0.625 0.2812 +0.1875 0.625 0.3125 +0.1875 0.625 0.3438 +0.1875 0.625 0.375 +0.1875 0.625 0.4062 +0.1875 0.625 0.4375 +0.1875 0.625 0.4688 +0.1875 0.625 0.5 +0.1875 0.625 0.5312 +0.1875 0.625 0.5625 +0.1875 0.625 0.5938 +0.1875 0.625 0.625 +0.1875 0.625 0.6562 +0.1875 0.625 0.6875 +0.1875 0.625 0.7188 +0.1875 0.625 0.75 +0.1875 0.625 0.7812 +0.1875 0.625 0.8125 +0.1875 0.625 0.8438 +0.1875 0.625 0.875 +0.1875 0.625 0.9062 +0.1875 0.625 0.9375 +0.1875 0.625 0.9688 +0.1875 0.625 1 +0.1875 0.6562 0 +0.1875 0.6562 0.03125 +0.1875 0.6562 0.0625 +0.1875 0.6562 0.09375 +0.1875 0.6562 0.125 +0.1875 0.6562 0.1562 +0.1875 0.6562 0.1875 +0.1875 0.6562 0.2188 +0.1875 0.6562 0.25 +0.1875 0.6562 0.2812 +0.1875 0.6562 0.3125 +0.1875 0.6562 0.3438 +0.1875 0.6562 0.375 +0.1875 0.6562 0.4062 +0.1875 0.6562 0.4375 +0.1875 0.6562 0.4688 +0.1875 0.6562 0.5 +0.1875 0.6562 0.5312 +0.1875 0.6562 0.5625 +0.1875 0.6562 0.5938 +0.1875 0.6562 0.625 +0.1875 0.6562 0.6562 +0.1875 0.6562 0.6875 +0.1875 0.6562 0.7188 +0.1875 0.6562 0.75 +0.1875 0.6562 0.7812 +0.1875 0.6562 0.8125 +0.1875 0.6562 0.8438 +0.1875 0.6562 0.875 +0.1875 0.6562 0.9062 +0.1875 0.6562 0.9375 +0.1875 0.6562 0.9688 +0.1875 0.6562 1 +0.1875 0.6875 0 +0.1875 0.6875 0.03125 +0.1875 0.6875 0.0625 +0.1875 0.6875 0.09375 +0.1875 0.6875 0.125 +0.1875 0.6875 0.1562 +0.1875 0.6875 0.1875 +0.1875 0.6875 0.2188 +0.1875 0.6875 0.25 +0.1875 0.6875 0.2812 +0.1875 0.6875 0.3125 +0.1875 0.6875 0.3438 +0.1875 0.6875 0.375 +0.1875 0.6875 0.4062 +0.1875 0.6875 0.4375 +0.1875 0.6875 0.4688 +0.1875 0.6875 0.5 +0.1875 0.6875 0.5312 +0.1875 0.6875 0.5625 +0.1875 0.6875 0.5938 +0.1875 0.6875 0.625 +0.1875 0.6875 0.6562 +0.1875 0.6875 0.6875 +0.1875 0.6875 0.7188 +0.1875 0.6875 0.75 +0.1875 0.6875 0.7812 +0.1875 0.6875 0.8125 +0.1875 0.6875 0.8438 +0.1875 0.6875 0.875 +0.1875 0.6875 0.9062 +0.1875 0.6875 0.9375 +0.1875 0.6875 0.9688 +0.1875 0.6875 1 +0.1875 0.7188 0 +0.1875 0.7188 0.03125 +0.1875 0.7188 0.0625 +0.1875 0.7188 0.09375 +0.1875 0.7188 0.125 +0.1875 0.7188 0.1562 +0.1875 0.7188 0.1875 +0.1875 0.7188 0.2188 +0.1875 0.7188 0.25 +0.1875 0.7188 0.2812 +0.1875 0.7188 0.3125 +0.1875 0.7188 0.3438 +0.1875 0.7188 0.375 +0.1875 0.7188 0.4062 +0.1875 0.7188 0.4375 +0.1875 0.7188 0.4688 +0.1875 0.7188 0.5 +0.1875 0.7188 0.5312 +0.1875 0.7188 0.5625 +0.1875 0.7188 0.5938 +0.1875 0.7188 0.625 +0.1875 0.7188 0.6562 +0.1875 0.7188 0.6875 +0.1875 0.7188 0.7188 +0.1875 0.7188 0.75 +0.1875 0.7188 0.7812 +0.1875 0.7188 0.8125 +0.1875 0.7188 0.8438 +0.1875 0.7188 0.875 +0.1875 0.7188 0.9062 +0.1875 0.7188 0.9375 +0.1875 0.7188 0.9688 +0.1875 0.7188 1 +0.1875 0.75 0 +0.1875 0.75 0.03125 +0.1875 0.75 0.0625 +0.1875 0.75 0.09375 +0.1875 0.75 0.125 +0.1875 0.75 0.1562 +0.1875 0.75 0.1875 +0.1875 0.75 0.2188 +0.1875 0.75 0.25 +0.1875 0.75 0.2812 +0.1875 0.75 0.3125 +0.1875 0.75 0.3438 +0.1875 0.75 0.375 +0.1875 0.75 0.4062 +0.1875 0.75 0.4375 +0.1875 0.75 0.4688 +0.1875 0.75 0.5 +0.1875 0.75 0.5312 +0.1875 0.75 0.5625 +0.1875 0.75 0.5938 +0.1875 0.75 0.625 +0.1875 0.75 0.6562 +0.1875 0.75 0.6875 +0.1875 0.75 0.7188 +0.1875 0.75 0.75 +0.1875 0.75 0.7812 +0.1875 0.75 0.8125 +0.1875 0.75 0.8438 +0.1875 0.75 0.875 +0.1875 0.75 0.9062 +0.1875 0.75 0.9375 +0.1875 0.75 0.9688 +0.1875 0.75 1 +0.1875 0.7812 0 +0.1875 0.7812 0.03125 +0.1875 0.7812 0.0625 +0.1875 0.7812 0.09375 +0.1875 0.7812 0.125 +0.1875 0.7812 0.1562 +0.1875 0.7812 0.1875 +0.1875 0.7812 0.2188 +0.1875 0.7812 0.25 +0.1875 0.7812 0.2812 +0.1875 0.7812 0.3125 +0.1875 0.7812 0.3438 +0.1875 0.7812 0.375 +0.1875 0.7812 0.4062 +0.1875 0.7812 0.4375 +0.1875 0.7812 0.4688 +0.1875 0.7812 0.5 +0.1875 0.7812 0.5312 +0.1875 0.7812 0.5625 +0.1875 0.7812 0.5938 +0.1875 0.7812 0.625 +0.1875 0.7812 0.6562 +0.1875 0.7812 0.6875 +0.1875 0.7812 0.7188 +0.1875 0.7812 0.75 +0.1875 0.7812 0.7812 +0.1875 0.7812 0.8125 +0.1875 0.7812 0.8438 +0.1875 0.7812 0.875 +0.1875 0.7812 0.9062 +0.1875 0.7812 0.9375 +0.1875 0.7812 0.9688 +0.1875 0.7812 1 +0.1875 0.8125 0 +0.1875 0.8125 0.03125 +0.1875 0.8125 0.0625 +0.1875 0.8125 0.09375 +0.1875 0.8125 0.125 +0.1875 0.8125 0.1562 +0.1875 0.8125 0.1875 +0.1875 0.8125 0.2188 +0.1875 0.8125 0.25 +0.1875 0.8125 0.2812 +0.1875 0.8125 0.3125 +0.1875 0.8125 0.3438 +0.1875 0.8125 0.375 +0.1875 0.8125 0.4062 +0.1875 0.8125 0.4375 +0.1875 0.8125 0.4688 +0.1875 0.8125 0.5 +0.1875 0.8125 0.5312 +0.1875 0.8125 0.5625 +0.1875 0.8125 0.5938 +0.1875 0.8125 0.625 +0.1875 0.8125 0.6562 +0.1875 0.8125 0.6875 +0.1875 0.8125 0.7188 +0.1875 0.8125 0.75 +0.1875 0.8125 0.7812 +0.1875 0.8125 0.8125 +0.1875 0.8125 0.8438 +0.1875 0.8125 0.875 +0.1875 0.8125 0.9062 +0.1875 0.8125 0.9375 +0.1875 0.8125 0.9688 +0.1875 0.8125 1 +0.1875 0.8438 0 +0.1875 0.8438 0.03125 +0.1875 0.8438 0.0625 +0.1875 0.8438 0.09375 +0.1875 0.8438 0.125 +0.1875 0.8438 0.1562 +0.1875 0.8438 0.1875 +0.1875 0.8438 0.2188 +0.1875 0.8438 0.25 +0.1875 0.8438 0.2812 +0.1875 0.8438 0.3125 +0.1875 0.8438 0.3438 +0.1875 0.8438 0.375 +0.1875 0.8438 0.4062 +0.1875 0.8438 0.4375 +0.1875 0.8438 0.4688 +0.1875 0.8438 0.5 +0.1875 0.8438 0.5312 +0.1875 0.8438 0.5625 +0.1875 0.8438 0.5938 +0.1875 0.8438 0.625 +0.1875 0.8438 0.6562 +0.1875 0.8438 0.6875 +0.1875 0.8438 0.7188 +0.1875 0.8438 0.75 +0.1875 0.8438 0.7812 +0.1875 0.8438 0.8125 +0.1875 0.8438 0.8438 +0.1875 0.8438 0.875 +0.1875 0.8438 0.9062 +0.1875 0.8438 0.9375 +0.1875 0.8438 0.9688 +0.1875 0.8438 1 +0.1875 0.875 0 +0.1875 0.875 0.03125 +0.1875 0.875 0.0625 +0.1875 0.875 0.09375 +0.1875 0.875 0.125 +0.1875 0.875 0.1562 +0.1875 0.875 0.1875 +0.1875 0.875 0.2188 +0.1875 0.875 0.25 +0.1875 0.875 0.2812 +0.1875 0.875 0.3125 +0.1875 0.875 0.3438 +0.1875 0.875 0.375 +0.1875 0.875 0.4062 +0.1875 0.875 0.4375 +0.1875 0.875 0.4688 +0.1875 0.875 0.5 +0.1875 0.875 0.5312 +0.1875 0.875 0.5625 +0.1875 0.875 0.5938 +0.1875 0.875 0.625 +0.1875 0.875 0.6562 +0.1875 0.875 0.6875 +0.1875 0.875 0.7188 +0.1875 0.875 0.75 +0.1875 0.875 0.7812 +0.1875 0.875 0.8125 +0.1875 0.875 0.8438 +0.1875 0.875 0.875 +0.1875 0.875 0.9062 +0.1875 0.875 0.9375 +0.1875 0.875 0.9688 +0.1875 0.875 1 +0.1875 0.9062 0 +0.1875 0.9062 0.03125 +0.1875 0.9062 0.0625 +0.1875 0.9062 0.09375 +0.1875 0.9062 0.125 +0.1875 0.9062 0.1562 +0.1875 0.9062 0.1875 +0.1875 0.9062 0.2188 +0.1875 0.9062 0.25 +0.1875 0.9062 0.2812 +0.1875 0.9062 0.3125 +0.1875 0.9062 0.3438 +0.1875 0.9062 0.375 +0.1875 0.9062 0.4062 +0.1875 0.9062 0.4375 +0.1875 0.9062 0.4688 +0.1875 0.9062 0.5 +0.1875 0.9062 0.5312 +0.1875 0.9062 0.5625 +0.1875 0.9062 0.5938 +0.1875 0.9062 0.625 +0.1875 0.9062 0.6562 +0.1875 0.9062 0.6875 +0.1875 0.9062 0.7188 +0.1875 0.9062 0.75 +0.1875 0.9062 0.7812 +0.1875 0.9062 0.8125 +0.1875 0.9062 0.8438 +0.1875 0.9062 0.875 +0.1875 0.9062 0.9062 +0.1875 0.9062 0.9375 +0.1875 0.9062 0.9688 +0.1875 0.9062 1 +0.1875 0.9375 0 +0.1875 0.9375 0.03125 +0.1875 0.9375 0.0625 +0.1875 0.9375 0.09375 +0.1875 0.9375 0.125 +0.1875 0.9375 0.1562 +0.1875 0.9375 0.1875 +0.1875 0.9375 0.2188 +0.1875 0.9375 0.25 +0.1875 0.9375 0.2812 +0.1875 0.9375 0.3125 +0.1875 0.9375 0.3438 +0.1875 0.9375 0.375 +0.1875 0.9375 0.4062 +0.1875 0.9375 0.4375 +0.1875 0.9375 0.4688 +0.1875 0.9375 0.5 +0.1875 0.9375 0.5312 +0.1875 0.9375 0.5625 +0.1875 0.9375 0.5938 +0.1875 0.9375 0.625 +0.1875 0.9375 0.6562 +0.1875 0.9375 0.6875 +0.1875 0.9375 0.7188 +0.1875 0.9375 0.75 +0.1875 0.9375 0.7812 +0.1875 0.9375 0.8125 +0.1875 0.9375 0.8438 +0.1875 0.9375 0.875 +0.1875 0.9375 0.9062 +0.1875 0.9375 0.9375 +0.1875 0.9375 0.9688 +0.1875 0.9375 1 +0.1875 0.9688 0 +0.1875 0.9688 0.03125 +0.1875 0.9688 0.0625 +0.1875 0.9688 0.09375 +0.1875 0.9688 0.125 +0.1875 0.9688 0.1562 +0.1875 0.9688 0.1875 +0.1875 0.9688 0.2188 +0.1875 0.9688 0.25 +0.1875 0.9688 0.2812 +0.1875 0.9688 0.3125 +0.1875 0.9688 0.3438 +0.1875 0.9688 0.375 +0.1875 0.9688 0.4062 +0.1875 0.9688 0.4375 +0.1875 0.9688 0.4688 +0.1875 0.9688 0.5 +0.1875 0.9688 0.5312 +0.1875 0.9688 0.5625 +0.1875 0.9688 0.5938 +0.1875 0.9688 0.625 +0.1875 0.9688 0.6562 +0.1875 0.9688 0.6875 +0.1875 0.9688 0.7188 +0.1875 0.9688 0.75 +0.1875 0.9688 0.7812 +0.1875 0.9688 0.8125 +0.1875 0.9688 0.8438 +0.1875 0.9688 0.875 +0.1875 0.9688 0.9062 +0.1875 0.9688 0.9375 +0.1875 0.9688 0.9688 +0.1875 0.9688 1 +0.1875 1 0 +0.1875 1 0.03125 +0.1875 1 0.0625 +0.1875 1 0.09375 +0.1875 1 0.125 +0.1875 1 0.1562 +0.1875 1 0.1875 +0.1875 1 0.2188 +0.1875 1 0.25 +0.1875 1 0.2812 +0.1875 1 0.3125 +0.1875 1 0.3438 +0.1875 1 0.375 +0.1875 1 0.4062 +0.1875 1 0.4375 +0.1875 1 0.4688 +0.1875 1 0.5 +0.1875 1 0.5312 +0.1875 1 0.5625 +0.1875 1 0.5938 +0.1875 1 0.625 +0.1875 1 0.6562 +0.1875 1 0.6875 +0.1875 1 0.7188 +0.1875 1 0.75 +0.1875 1 0.7812 +0.1875 1 0.8125 +0.1875 1 0.8438 +0.1875 1 0.875 +0.1875 1 0.9062 +0.1875 1 0.9375 +0.1875 1 0.9688 +0.1875 1 1 +0.2188 0 0 +0.2188 0 0.03125 +0.2188 0 0.0625 +0.2188 0 0.09375 +0.2188 0 0.125 +0.2188 0 0.1562 +0.2188 0 0.1875 +0.2188 0 0.2188 +0.2188 0 0.25 +0.2188 0 0.2812 +0.2188 0 0.3125 +0.2188 0 0.3438 +0.2188 0 0.375 +0.2188 0 0.4062 +0.2188 0 0.4375 +0.2188 0 0.4688 +0.2188 0 0.5 +0.2188 0 0.5312 +0.2188 0 0.5625 +0.2188 0 0.5938 +0.2188 0 0.625 +0.2188 0 0.6562 +0.2188 0 0.6875 +0.2188 0 0.7188 +0.2188 0 0.75 +0.2188 0 0.7812 +0.2188 0 0.8125 +0.2188 0 0.8438 +0.2188 0 0.875 +0.2188 0 0.9062 +0.2188 0 0.9375 +0.2188 0 0.9688 +0.2188 0 1 +0.2188 0.03125 0 +0.2188 0.03125 0.03125 +0.2188 0.03125 0.0625 +0.2188 0.03125 0.09375 +0.2188 0.03125 0.125 +0.2188 0.03125 0.1562 +0.2188 0.03125 0.1875 +0.2188 0.03125 0.2188 +0.2188 0.03125 0.25 +0.2188 0.03125 0.2812 +0.2188 0.03125 0.3125 +0.2188 0.03125 0.3438 +0.2188 0.03125 0.375 +0.2188 0.03125 0.4062 +0.2188 0.03125 0.4375 +0.2188 0.03125 0.4688 +0.2188 0.03125 0.5 +0.2188 0.03125 0.5312 +0.2188 0.03125 0.5625 +0.2188 0.03125 0.5938 +0.2188 0.03125 0.625 +0.2188 0.03125 0.6562 +0.2188 0.03125 0.6875 +0.2188 0.03125 0.7188 +0.2188 0.03125 0.75 +0.2188 0.03125 0.7812 +0.2188 0.03125 0.8125 +0.2188 0.03125 0.8438 +0.2188 0.03125 0.875 +0.2188 0.03125 0.9062 +0.2188 0.03125 0.9375 +0.2188 0.03125 0.9688 +0.2188 0.03125 1 +0.2188 0.0625 0 +0.2188 0.0625 0.03125 +0.2188 0.0625 0.0625 +0.2188 0.0625 0.09375 +0.2188 0.0625 0.125 +0.2188 0.0625 0.1562 +0.2188 0.0625 0.1875 +0.2188 0.0625 0.2188 +0.2188 0.0625 0.25 +0.2188 0.0625 0.2812 +0.2188 0.0625 0.3125 +0.2188 0.0625 0.3438 +0.2188 0.0625 0.375 +0.2188 0.0625 0.4062 +0.2188 0.0625 0.4375 +0.2188 0.0625 0.4688 +0.2188 0.0625 0.5 +0.2188 0.0625 0.5312 +0.2188 0.0625 0.5625 +0.2188 0.0625 0.5938 +0.2188 0.0625 0.625 +0.2188 0.0625 0.6562 +0.2188 0.0625 0.6875 +0.2188 0.0625 0.7188 +0.2188 0.0625 0.75 +0.2188 0.0625 0.7812 +0.2188 0.0625 0.8125 +0.2188 0.0625 0.8438 +0.2188 0.0625 0.875 +0.2188 0.0625 0.9062 +0.2188 0.0625 0.9375 +0.2188 0.0625 0.9688 +0.2188 0.0625 1 +0.2188 0.09375 0 +0.2188 0.09375 0.03125 +0.2188 0.09375 0.0625 +0.2188 0.09375 0.09375 +0.2188 0.09375 0.125 +0.2188 0.09375 0.1562 +0.2188 0.09375 0.1875 +0.2188 0.09375 0.2188 +0.2188 0.09375 0.25 +0.2188 0.09375 0.2812 +0.2188 0.09375 0.3125 +0.2188 0.09375 0.3438 +0.2188 0.09375 0.375 +0.2188 0.09375 0.4062 +0.2188 0.09375 0.4375 +0.2188 0.09375 0.4688 +0.2188 0.09375 0.5 +0.2188 0.09375 0.5312 +0.2188 0.09375 0.5625 +0.2188 0.09375 0.5938 +0.2188 0.09375 0.625 +0.2188 0.09375 0.6562 +0.2188 0.09375 0.6875 +0.2188 0.09375 0.7188 +0.2188 0.09375 0.75 +0.2188 0.09375 0.7812 +0.2188 0.09375 0.8125 +0.2188 0.09375 0.8438 +0.2188 0.09375 0.875 +0.2188 0.09375 0.9062 +0.2188 0.09375 0.9375 +0.2188 0.09375 0.9688 +0.2188 0.09375 1 +0.2188 0.125 0 +0.2188 0.125 0.03125 +0.2188 0.125 0.0625 +0.2188 0.125 0.09375 +0.2188 0.125 0.125 +0.2188 0.125 0.1562 +0.2188 0.125 0.1875 +0.2188 0.125 0.2188 +0.2188 0.125 0.25 +0.2188 0.125 0.2812 +0.2188 0.125 0.3125 +0.2188 0.125 0.3438 +0.2188 0.125 0.375 +0.2188 0.125 0.4062 +0.2188 0.125 0.4375 +0.2188 0.125 0.4688 +0.2188 0.125 0.5 +0.2188 0.125 0.5312 +0.2188 0.125 0.5625 +0.2188 0.125 0.5938 +0.2188 0.125 0.625 +0.2188 0.125 0.6562 +0.2188 0.125 0.6875 +0.2188 0.125 0.7188 +0.2188 0.125 0.75 +0.2188 0.125 0.7812 +0.2188 0.125 0.8125 +0.2188 0.125 0.8438 +0.2188 0.125 0.875 +0.2188 0.125 0.9062 +0.2188 0.125 0.9375 +0.2188 0.125 0.9688 +0.2188 0.125 1 +0.2188 0.1562 0 +0.2188 0.1562 0.03125 +0.2188 0.1562 0.0625 +0.2188 0.1562 0.09375 +0.2188 0.1562 0.125 +0.2188 0.1562 0.1562 +0.2188 0.1562 0.1875 +0.2188 0.1562 0.2188 +0.2188 0.1562 0.25 +0.2188 0.1562 0.2812 +0.2188 0.1562 0.3125 +0.2188 0.1562 0.3438 +0.2188 0.1562 0.375 +0.2188 0.1562 0.4062 +0.2188 0.1562 0.4375 +0.2188 0.1562 0.4688 +0.2188 0.1562 0.5 +0.2188 0.1562 0.5312 +0.2188 0.1562 0.5625 +0.2188 0.1562 0.5938 +0.2188 0.1562 0.625 +0.2188 0.1562 0.6562 +0.2188 0.1562 0.6875 +0.2188 0.1562 0.7188 +0.2188 0.1562 0.75 +0.2188 0.1562 0.7812 +0.2188 0.1562 0.8125 +0.2188 0.1562 0.8438 +0.2188 0.1562 0.875 +0.2188 0.1562 0.9062 +0.2188 0.1562 0.9375 +0.2188 0.1562 0.9688 +0.2188 0.1562 1 +0.2188 0.1875 0 +0.2188 0.1875 0.03125 +0.2188 0.1875 0.0625 +0.2188 0.1875 0.09375 +0.2188 0.1875 0.125 +0.2188 0.1875 0.1562 +0.2188 0.1875 0.1875 +0.2188 0.1875 0.2188 +0.2188 0.1875 0.25 +0.2188 0.1875 0.2812 +0.2188 0.1875 0.3125 +0.2188 0.1875 0.3438 +0.2188 0.1875 0.375 +0.2188 0.1875 0.4062 +0.2188 0.1875 0.4375 +0.2188 0.1875 0.4688 +0.2188 0.1875 0.5 +0.2188 0.1875 0.5312 +0.2188 0.1875 0.5625 +0.2188 0.1875 0.5938 +0.2188 0.1875 0.625 +0.2188 0.1875 0.6562 +0.2188 0.1875 0.6875 +0.2188 0.1875 0.7188 +0.2188 0.1875 0.75 +0.2188 0.1875 0.7812 +0.2188 0.1875 0.8125 +0.2188 0.1875 0.8438 +0.2188 0.1875 0.875 +0.2188 0.1875 0.9062 +0.2188 0.1875 0.9375 +0.2188 0.1875 0.9688 +0.2188 0.1875 1 +0.2188 0.2188 0 +0.2188 0.2188 0.03125 +0.2188 0.2188 0.0625 +0.2188 0.2188 0.09375 +0.2188 0.2188 0.125 +0.2188 0.2188 0.1562 +0.2188 0.2188 0.1875 +0.2188 0.2188 0.2188 +0.2188 0.2188 0.25 +0.2188 0.2188 0.2812 +0.2188 0.2188 0.3125 +0.2188 0.2188 0.3438 +0.2188 0.2188 0.375 +0.2188 0.2188 0.4062 +0.2188 0.2188 0.4375 +0.2188 0.2188 0.4688 +0.2188 0.2188 0.5 +0.2188 0.2188 0.5312 +0.2188 0.2188 0.5625 +0.2188 0.2188 0.5938 +0.2188 0.2188 0.625 +0.2188 0.2188 0.6562 +0.2188 0.2188 0.6875 +0.2188 0.2188 0.7188 +0.2188 0.2188 0.75 +0.2188 0.2188 0.7812 +0.2188 0.2188 0.8125 +0.2188 0.2188 0.8438 +0.2188 0.2188 0.875 +0.2188 0.2188 0.9062 +0.2188 0.2188 0.9375 +0.2188 0.2188 0.9688 +0.2188 0.2188 1 +0.2188 0.25 0 +0.2188 0.25 0.03125 +0.2188 0.25 0.0625 +0.2188 0.25 0.09375 +0.2188 0.25 0.125 +0.2188 0.25 0.1562 +0.2188 0.25 0.1875 +0.2188 0.25 0.2188 +0.2188 0.25 0.25 +0.2188 0.25 0.2812 +0.2188 0.25 0.3125 +0.2188 0.25 0.3438 +0.2188 0.25 0.375 +0.2188 0.25 0.4062 +0.2188 0.25 0.4375 +0.2188 0.25 0.4688 +0.2188 0.25 0.5 +0.2188 0.25 0.5312 +0.2188 0.25 0.5625 +0.2188 0.25 0.5938 +0.2188 0.25 0.625 +0.2188 0.25 0.6562 +0.2188 0.25 0.6875 +0.2188 0.25 0.7188 +0.2188 0.25 0.75 +0.2188 0.25 0.7812 +0.2188 0.25 0.8125 +0.2188 0.25 0.8438 +0.2188 0.25 0.875 +0.2188 0.25 0.9062 +0.2188 0.25 0.9375 +0.2188 0.25 0.9688 +0.2188 0.25 1 +0.2188 0.2812 0 +0.2188 0.2812 0.03125 +0.2188 0.2812 0.0625 +0.2188 0.2812 0.09375 +0.2188 0.2812 0.125 +0.2188 0.2812 0.1562 +0.2188 0.2812 0.1875 +0.2188 0.2812 0.2188 +0.2188 0.2812 0.25 +0.2188 0.2812 0.2812 +0.2188 0.2812 0.3125 +0.2188 0.2812 0.3438 +0.2188 0.2812 0.375 +0.2188 0.2812 0.4062 +0.2188 0.2812 0.4375 +0.2188 0.2812 0.4688 +0.2188 0.2812 0.5 +0.2188 0.2812 0.5312 +0.2188 0.2812 0.5625 +0.2188 0.2812 0.5938 +0.2188 0.2812 0.625 +0.2188 0.2812 0.6562 +0.2188 0.2812 0.6875 +0.2188 0.2812 0.7188 +0.2188 0.2812 0.75 +0.2188 0.2812 0.7812 +0.2188 0.2812 0.8125 +0.2188 0.2812 0.8438 +0.2188 0.2812 0.875 +0.2188 0.2812 0.9062 +0.2188 0.2812 0.9375 +0.2188 0.2812 0.9688 +0.2188 0.2812 1 +0.2188 0.3125 0 +0.2188 0.3125 0.03125 +0.2188 0.3125 0.0625 +0.2188 0.3125 0.09375 +0.2188 0.3125 0.125 +0.2188 0.3125 0.1562 +0.2188 0.3125 0.1875 +0.2188 0.3125 0.2188 +0.2188 0.3125 0.25 +0.2188 0.3125 0.2812 +0.2188 0.3125 0.3125 +0.2188 0.3125 0.3438 +0.2188 0.3125 0.375 +0.2188 0.3125 0.4062 +0.2188 0.3125 0.4375 +0.2188 0.3125 0.4688 +0.2188 0.3125 0.5 +0.2188 0.3125 0.5312 +0.2188 0.3125 0.5625 +0.2188 0.3125 0.5938 +0.2188 0.3125 0.625 +0.2188 0.3125 0.6562 +0.2188 0.3125 0.6875 +0.2188 0.3125 0.7188 +0.2188 0.3125 0.75 +0.2188 0.3125 0.7812 +0.2188 0.3125 0.8125 +0.2188 0.3125 0.8438 +0.2188 0.3125 0.875 +0.2188 0.3125 0.9062 +0.2188 0.3125 0.9375 +0.2188 0.3125 0.9688 +0.2188 0.3125 1 +0.2188 0.3438 0 +0.2188 0.3438 0.03125 +0.2188 0.3438 0.0625 +0.2188 0.3438 0.09375 +0.2188 0.3438 0.125 +0.2188 0.3438 0.1562 +0.2188 0.3438 0.1875 +0.2188 0.3438 0.2188 +0.2188 0.3438 0.25 +0.2188 0.3438 0.2812 +0.2188 0.3438 0.3125 +0.2188 0.3438 0.3438 +0.2188 0.3438 0.375 +0.2188 0.3438 0.4062 +0.2188 0.3438 0.4375 +0.2188 0.3438 0.4688 +0.2188 0.3438 0.5 +0.2188 0.3438 0.5312 +0.2188 0.3438 0.5625 +0.2188 0.3438 0.5938 +0.2188 0.3438 0.625 +0.2188 0.3438 0.6562 +0.2188 0.3438 0.6875 +0.2188 0.3438 0.7188 +0.2188 0.3438 0.75 +0.2188 0.3438 0.7812 +0.2188 0.3438 0.8125 +0.2188 0.3438 0.8438 +0.2188 0.3438 0.875 +0.2188 0.3438 0.9062 +0.2188 0.3438 0.9375 +0.2188 0.3438 0.9688 +0.2188 0.3438 1 +0.2188 0.375 0 +0.2188 0.375 0.03125 +0.2188 0.375 0.0625 +0.2188 0.375 0.09375 +0.2188 0.375 0.125 +0.2188 0.375 0.1562 +0.2188 0.375 0.1875 +0.2188 0.375 0.2188 +0.2188 0.375 0.25 +0.2188 0.375 0.2812 +0.2188 0.375 0.3125 +0.2188 0.375 0.3438 +0.2188 0.375 0.375 +0.2188 0.375 0.4062 +0.2188 0.375 0.4375 +0.2188 0.375 0.4688 +0.2188 0.375 0.5 +0.2188 0.375 0.5312 +0.2188 0.375 0.5625 +0.2188 0.375 0.5938 +0.2188 0.375 0.625 +0.2188 0.375 0.6562 +0.2188 0.375 0.6875 +0.2188 0.375 0.7188 +0.2188 0.375 0.75 +0.2188 0.375 0.7812 +0.2188 0.375 0.8125 +0.2188 0.375 0.8438 +0.2188 0.375 0.875 +0.2188 0.375 0.9062 +0.2188 0.375 0.9375 +0.2188 0.375 0.9688 +0.2188 0.375 1 +0.2188 0.4062 0 +0.2188 0.4062 0.03125 +0.2188 0.4062 0.0625 +0.2188 0.4062 0.09375 +0.2188 0.4062 0.125 +0.2188 0.4062 0.1562 +0.2188 0.4062 0.1875 +0.2188 0.4062 0.2188 +0.2188 0.4062 0.25 +0.2188 0.4062 0.2812 +0.2188 0.4062 0.3125 +0.2188 0.4062 0.3438 +0.2188 0.4062 0.375 +0.2188 0.4062 0.4062 +0.2188 0.4062 0.4375 +0.2188 0.4062 0.4688 +0.2188 0.4062 0.5 +0.2188 0.4062 0.5312 +0.2188 0.4062 0.5625 +0.2188 0.4062 0.5938 +0.2188 0.4062 0.625 +0.2188 0.4062 0.6562 +0.2188 0.4062 0.6875 +0.2188 0.4062 0.7188 +0.2188 0.4062 0.75 +0.2188 0.4062 0.7812 +0.2188 0.4062 0.8125 +0.2188 0.4062 0.8438 +0.2188 0.4062 0.875 +0.2188 0.4062 0.9062 +0.2188 0.4062 0.9375 +0.2188 0.4062 0.9688 +0.2188 0.4062 1 +0.2188 0.4375 0 +0.2188 0.4375 0.03125 +0.2188 0.4375 0.0625 +0.2188 0.4375 0.09375 +0.2188 0.4375 0.125 +0.2188 0.4375 0.1562 +0.2188 0.4375 0.1875 +0.2188 0.4375 0.2188 +0.2188 0.4375 0.25 +0.2188 0.4375 0.2812 +0.2188 0.4375 0.3125 +0.2188 0.4375 0.3438 +0.2188 0.4375 0.375 +0.2188 0.4375 0.4062 +0.2188 0.4375 0.4375 +0.2188 0.4375 0.4688 +0.2188 0.4375 0.5 +0.2188 0.4375 0.5312 +0.2188 0.4375 0.5625 +0.2188 0.4375 0.5938 +0.2188 0.4375 0.625 +0.2188 0.4375 0.6562 +0.2188 0.4375 0.6875 +0.2188 0.4375 0.7188 +0.2188 0.4375 0.75 +0.2188 0.4375 0.7812 +0.2188 0.4375 0.8125 +0.2188 0.4375 0.8438 +0.2188 0.4375 0.875 +0.2188 0.4375 0.9062 +0.2188 0.4375 0.9375 +0.2188 0.4375 0.9688 +0.2188 0.4375 1 +0.2188 0.4688 0 +0.2188 0.4688 0.03125 +0.2188 0.4688 0.0625 +0.2188 0.4688 0.09375 +0.2188 0.4688 0.125 +0.2188 0.4688 0.1562 +0.2188 0.4688 0.1875 +0.2188 0.4688 0.2188 +0.2188 0.4688 0.25 +0.2188 0.4688 0.2812 +0.2188 0.4688 0.3125 +0.2188 0.4688 0.3438 +0.2188 0.4688 0.375 +0.2188 0.4688 0.4062 +0.2188 0.4688 0.4375 +0.2188 0.4688 0.4688 +0.2188 0.4688 0.5 +0.2188 0.4688 0.5312 +0.2188 0.4688 0.5625 +0.2188 0.4688 0.5938 +0.2188 0.4688 0.625 +0.2188 0.4688 0.6562 +0.2188 0.4688 0.6875 +0.2188 0.4688 0.7188 +0.2188 0.4688 0.75 +0.2188 0.4688 0.7812 +0.2188 0.4688 0.8125 +0.2188 0.4688 0.8438 +0.2188 0.4688 0.875 +0.2188 0.4688 0.9062 +0.2188 0.4688 0.9375 +0.2188 0.4688 0.9688 +0.2188 0.4688 1 +0.2188 0.5 0 +0.2188 0.5 0.03125 +0.2188 0.5 0.0625 +0.2188 0.5 0.09375 +0.2188 0.5 0.125 +0.2188 0.5 0.1562 +0.2188 0.5 0.1875 +0.2188 0.5 0.2188 +0.2188 0.5 0.25 +0.2188 0.5 0.2812 +0.2188 0.5 0.3125 +0.2188 0.5 0.3438 +0.2188 0.5 0.375 +0.2188 0.5 0.4062 +0.2188 0.5 0.4375 +0.2188 0.5 0.4688 +0.2188 0.5 0.5 +0.2188 0.5 0.5312 +0.2188 0.5 0.5625 +0.2188 0.5 0.5938 +0.2188 0.5 0.625 +0.2188 0.5 0.6562 +0.2188 0.5 0.6875 +0.2188 0.5 0.7188 +0.2188 0.5 0.75 +0.2188 0.5 0.7812 +0.2188 0.5 0.8125 +0.2188 0.5 0.8438 +0.2188 0.5 0.875 +0.2188 0.5 0.9062 +0.2188 0.5 0.9375 +0.2188 0.5 0.9688 +0.2188 0.5 1 +0.2188 0.5312 0 +0.2188 0.5312 0.03125 +0.2188 0.5312 0.0625 +0.2188 0.5312 0.09375 +0.2188 0.5312 0.125 +0.2188 0.5312 0.1562 +0.2188 0.5312 0.1875 +0.2188 0.5312 0.2188 +0.2188 0.5312 0.25 +0.2188 0.5312 0.2812 +0.2188 0.5312 0.3125 +0.2188 0.5312 0.3438 +0.2188 0.5312 0.375 +0.2188 0.5312 0.4062 +0.2188 0.5312 0.4375 +0.2188 0.5312 0.4688 +0.2188 0.5312 0.5 +0.2188 0.5312 0.5312 +0.2188 0.5312 0.5625 +0.2188 0.5312 0.5938 +0.2188 0.5312 0.625 +0.2188 0.5312 0.6562 +0.2188 0.5312 0.6875 +0.2188 0.5312 0.7188 +0.2188 0.5312 0.75 +0.2188 0.5312 0.7812 +0.2188 0.5312 0.8125 +0.2188 0.5312 0.8438 +0.2188 0.5312 0.875 +0.2188 0.5312 0.9062 +0.2188 0.5312 0.9375 +0.2188 0.5312 0.9688 +0.2188 0.5312 1 +0.2188 0.5625 0 +0.2188 0.5625 0.03125 +0.2188 0.5625 0.0625 +0.2188 0.5625 0.09375 +0.2188 0.5625 0.125 +0.2188 0.5625 0.1562 +0.2188 0.5625 0.1875 +0.2188 0.5625 0.2188 +0.2188 0.5625 0.25 +0.2188 0.5625 0.2812 +0.2188 0.5625 0.3125 +0.2188 0.5625 0.3438 +0.2188 0.5625 0.375 +0.2188 0.5625 0.4062 +0.2188 0.5625 0.4375 +0.2188 0.5625 0.4688 +0.2188 0.5625 0.5 +0.2188 0.5625 0.5312 +0.2188 0.5625 0.5625 +0.2188 0.5625 0.5938 +0.2188 0.5625 0.625 +0.2188 0.5625 0.6562 +0.2188 0.5625 0.6875 +0.2188 0.5625 0.7188 +0.2188 0.5625 0.75 +0.2188 0.5625 0.7812 +0.2188 0.5625 0.8125 +0.2188 0.5625 0.8438 +0.2188 0.5625 0.875 +0.2188 0.5625 0.9062 +0.2188 0.5625 0.9375 +0.2188 0.5625 0.9688 +0.2188 0.5625 1 +0.2188 0.5938 0 +0.2188 0.5938 0.03125 +0.2188 0.5938 0.0625 +0.2188 0.5938 0.09375 +0.2188 0.5938 0.125 +0.2188 0.5938 0.1562 +0.2188 0.5938 0.1875 +0.2188 0.5938 0.2188 +0.2188 0.5938 0.25 +0.2188 0.5938 0.2812 +0.2188 0.5938 0.3125 +0.2188 0.5938 0.3438 +0.2188 0.5938 0.375 +0.2188 0.5938 0.4062 +0.2188 0.5938 0.4375 +0.2188 0.5938 0.4688 +0.2188 0.5938 0.5 +0.2188 0.5938 0.5312 +0.2188 0.5938 0.5625 +0.2188 0.5938 0.5938 +0.2188 0.5938 0.625 +0.2188 0.5938 0.6562 +0.2188 0.5938 0.6875 +0.2188 0.5938 0.7188 +0.2188 0.5938 0.75 +0.2188 0.5938 0.7812 +0.2188 0.5938 0.8125 +0.2188 0.5938 0.8438 +0.2188 0.5938 0.875 +0.2188 0.5938 0.9062 +0.2188 0.5938 0.9375 +0.2188 0.5938 0.9688 +0.2188 0.5938 1 +0.2188 0.625 0 +0.2188 0.625 0.03125 +0.2188 0.625 0.0625 +0.2188 0.625 0.09375 +0.2188 0.625 0.125 +0.2188 0.625 0.1562 +0.2188 0.625 0.1875 +0.2188 0.625 0.2188 +0.2188 0.625 0.25 +0.2188 0.625 0.2812 +0.2188 0.625 0.3125 +0.2188 0.625 0.3438 +0.2188 0.625 0.375 +0.2188 0.625 0.4062 +0.2188 0.625 0.4375 +0.2188 0.625 0.4688 +0.2188 0.625 0.5 +0.2188 0.625 0.5312 +0.2188 0.625 0.5625 +0.2188 0.625 0.5938 +0.2188 0.625 0.625 +0.2188 0.625 0.6562 +0.2188 0.625 0.6875 +0.2188 0.625 0.7188 +0.2188 0.625 0.75 +0.2188 0.625 0.7812 +0.2188 0.625 0.8125 +0.2188 0.625 0.8438 +0.2188 0.625 0.875 +0.2188 0.625 0.9062 +0.2188 0.625 0.9375 +0.2188 0.625 0.9688 +0.2188 0.625 1 +0.2188 0.6562 0 +0.2188 0.6562 0.03125 +0.2188 0.6562 0.0625 +0.2188 0.6562 0.09375 +0.2188 0.6562 0.125 +0.2188 0.6562 0.1562 +0.2188 0.6562 0.1875 +0.2188 0.6562 0.2188 +0.2188 0.6562 0.25 +0.2188 0.6562 0.2812 +0.2188 0.6562 0.3125 +0.2188 0.6562 0.3438 +0.2188 0.6562 0.375 +0.2188 0.6562 0.4062 +0.2188 0.6562 0.4375 +0.2188 0.6562 0.4688 +0.2188 0.6562 0.5 +0.2188 0.6562 0.5312 +0.2188 0.6562 0.5625 +0.2188 0.6562 0.5938 +0.2188 0.6562 0.625 +0.2188 0.6562 0.6562 +0.2188 0.6562 0.6875 +0.2188 0.6562 0.7188 +0.2188 0.6562 0.75 +0.2188 0.6562 0.7812 +0.2188 0.6562 0.8125 +0.2188 0.6562 0.8438 +0.2188 0.6562 0.875 +0.2188 0.6562 0.9062 +0.2188 0.6562 0.9375 +0.2188 0.6562 0.9688 +0.2188 0.6562 1 +0.2188 0.6875 0 +0.2188 0.6875 0.03125 +0.2188 0.6875 0.0625 +0.2188 0.6875 0.09375 +0.2188 0.6875 0.125 +0.2188 0.6875 0.1562 +0.2188 0.6875 0.1875 +0.2188 0.6875 0.2188 +0.2188 0.6875 0.25 +0.2188 0.6875 0.2812 +0.2188 0.6875 0.3125 +0.2188 0.6875 0.3438 +0.2188 0.6875 0.375 +0.2188 0.6875 0.4062 +0.2188 0.6875 0.4375 +0.2188 0.6875 0.4688 +0.2188 0.6875 0.5 +0.2188 0.6875 0.5312 +0.2188 0.6875 0.5625 +0.2188 0.6875 0.5938 +0.2188 0.6875 0.625 +0.2188 0.6875 0.6562 +0.2188 0.6875 0.6875 +0.2188 0.6875 0.7188 +0.2188 0.6875 0.75 +0.2188 0.6875 0.7812 +0.2188 0.6875 0.8125 +0.2188 0.6875 0.8438 +0.2188 0.6875 0.875 +0.2188 0.6875 0.9062 +0.2188 0.6875 0.9375 +0.2188 0.6875 0.9688 +0.2188 0.6875 1 +0.2188 0.7188 0 +0.2188 0.7188 0.03125 +0.2188 0.7188 0.0625 +0.2188 0.7188 0.09375 +0.2188 0.7188 0.125 +0.2188 0.7188 0.1562 +0.2188 0.7188 0.1875 +0.2188 0.7188 0.2188 +0.2188 0.7188 0.25 +0.2188 0.7188 0.2812 +0.2188 0.7188 0.3125 +0.2188 0.7188 0.3438 +0.2188 0.7188 0.375 +0.2188 0.7188 0.4062 +0.2188 0.7188 0.4375 +0.2188 0.7188 0.4688 +0.2188 0.7188 0.5 +0.2188 0.7188 0.5312 +0.2188 0.7188 0.5625 +0.2188 0.7188 0.5938 +0.2188 0.7188 0.625 +0.2188 0.7188 0.6562 +0.2188 0.7188 0.6875 +0.2188 0.7188 0.7188 +0.2188 0.7188 0.75 +0.2188 0.7188 0.7812 +0.2188 0.7188 0.8125 +0.2188 0.7188 0.8438 +0.2188 0.7188 0.875 +0.2188 0.7188 0.9062 +0.2188 0.7188 0.9375 +0.2188 0.7188 0.9688 +0.2188 0.7188 1 +0.2188 0.75 0 +0.2188 0.75 0.03125 +0.2188 0.75 0.0625 +0.2188 0.75 0.09375 +0.2188 0.75 0.125 +0.2188 0.75 0.1562 +0.2188 0.75 0.1875 +0.2188 0.75 0.2188 +0.2188 0.75 0.25 +0.2188 0.75 0.2812 +0.2188 0.75 0.3125 +0.2188 0.75 0.3438 +0.2188 0.75 0.375 +0.2188 0.75 0.4062 +0.2188 0.75 0.4375 +0.2188 0.75 0.4688 +0.2188 0.75 0.5 +0.2188 0.75 0.5312 +0.2188 0.75 0.5625 +0.2188 0.75 0.5938 +0.2188 0.75 0.625 +0.2188 0.75 0.6562 +0.2188 0.75 0.6875 +0.2188 0.75 0.7188 +0.2188 0.75 0.75 +0.2188 0.75 0.7812 +0.2188 0.75 0.8125 +0.2188 0.75 0.8438 +0.2188 0.75 0.875 +0.2188 0.75 0.9062 +0.2188 0.75 0.9375 +0.2188 0.75 0.9688 +0.2188 0.75 1 +0.2188 0.7812 0 +0.2188 0.7812 0.03125 +0.2188 0.7812 0.0625 +0.2188 0.7812 0.09375 +0.2188 0.7812 0.125 +0.2188 0.7812 0.1562 +0.2188 0.7812 0.1875 +0.2188 0.7812 0.2188 +0.2188 0.7812 0.25 +0.2188 0.7812 0.2812 +0.2188 0.7812 0.3125 +0.2188 0.7812 0.3438 +0.2188 0.7812 0.375 +0.2188 0.7812 0.4062 +0.2188 0.7812 0.4375 +0.2188 0.7812 0.4688 +0.2188 0.7812 0.5 +0.2188 0.7812 0.5312 +0.2188 0.7812 0.5625 +0.2188 0.7812 0.5938 +0.2188 0.7812 0.625 +0.2188 0.7812 0.6562 +0.2188 0.7812 0.6875 +0.2188 0.7812 0.7188 +0.2188 0.7812 0.75 +0.2188 0.7812 0.7812 +0.2188 0.7812 0.8125 +0.2188 0.7812 0.8438 +0.2188 0.7812 0.875 +0.2188 0.7812 0.9062 +0.2188 0.7812 0.9375 +0.2188 0.7812 0.9688 +0.2188 0.7812 1 +0.2188 0.8125 0 +0.2188 0.8125 0.03125 +0.2188 0.8125 0.0625 +0.2188 0.8125 0.09375 +0.2188 0.8125 0.125 +0.2188 0.8125 0.1562 +0.2188 0.8125 0.1875 +0.2188 0.8125 0.2188 +0.2188 0.8125 0.25 +0.2188 0.8125 0.2812 +0.2188 0.8125 0.3125 +0.2188 0.8125 0.3438 +0.2188 0.8125 0.375 +0.2188 0.8125 0.4062 +0.2188 0.8125 0.4375 +0.2188 0.8125 0.4688 +0.2188 0.8125 0.5 +0.2188 0.8125 0.5312 +0.2188 0.8125 0.5625 +0.2188 0.8125 0.5938 +0.2188 0.8125 0.625 +0.2188 0.8125 0.6562 +0.2188 0.8125 0.6875 +0.2188 0.8125 0.7188 +0.2188 0.8125 0.75 +0.2188 0.8125 0.7812 +0.2188 0.8125 0.8125 +0.2188 0.8125 0.8438 +0.2188 0.8125 0.875 +0.2188 0.8125 0.9062 +0.2188 0.8125 0.9375 +0.2188 0.8125 0.9688 +0.2188 0.8125 1 +0.2188 0.8438 0 +0.2188 0.8438 0.03125 +0.2188 0.8438 0.0625 +0.2188 0.8438 0.09375 +0.2188 0.8438 0.125 +0.2188 0.8438 0.1562 +0.2188 0.8438 0.1875 +0.2188 0.8438 0.2188 +0.2188 0.8438 0.25 +0.2188 0.8438 0.2812 +0.2188 0.8438 0.3125 +0.2188 0.8438 0.3438 +0.2188 0.8438 0.375 +0.2188 0.8438 0.4062 +0.2188 0.8438 0.4375 +0.2188 0.8438 0.4688 +0.2188 0.8438 0.5 +0.2188 0.8438 0.5312 +0.2188 0.8438 0.5625 +0.2188 0.8438 0.5938 +0.2188 0.8438 0.625 +0.2188 0.8438 0.6562 +0.2188 0.8438 0.6875 +0.2188 0.8438 0.7188 +0.2188 0.8438 0.75 +0.2188 0.8438 0.7812 +0.2188 0.8438 0.8125 +0.2188 0.8438 0.8438 +0.2188 0.8438 0.875 +0.2188 0.8438 0.9062 +0.2188 0.8438 0.9375 +0.2188 0.8438 0.9688 +0.2188 0.8438 1 +0.2188 0.875 0 +0.2188 0.875 0.03125 +0.2188 0.875 0.0625 +0.2188 0.875 0.09375 +0.2188 0.875 0.125 +0.2188 0.875 0.1562 +0.2188 0.875 0.1875 +0.2188 0.875 0.2188 +0.2188 0.875 0.25 +0.2188 0.875 0.2812 +0.2188 0.875 0.3125 +0.2188 0.875 0.3438 +0.2188 0.875 0.375 +0.2188 0.875 0.4062 +0.2188 0.875 0.4375 +0.2188 0.875 0.4688 +0.2188 0.875 0.5 +0.2188 0.875 0.5312 +0.2188 0.875 0.5625 +0.2188 0.875 0.5938 +0.2188 0.875 0.625 +0.2188 0.875 0.6562 +0.2188 0.875 0.6875 +0.2188 0.875 0.7188 +0.2188 0.875 0.75 +0.2188 0.875 0.7812 +0.2188 0.875 0.8125 +0.2188 0.875 0.8438 +0.2188 0.875 0.875 +0.2188 0.875 0.9062 +0.2188 0.875 0.9375 +0.2188 0.875 0.9688 +0.2188 0.875 1 +0.2188 0.9062 0 +0.2188 0.9062 0.03125 +0.2188 0.9062 0.0625 +0.2188 0.9062 0.09375 +0.2188 0.9062 0.125 +0.2188 0.9062 0.1562 +0.2188 0.9062 0.1875 +0.2188 0.9062 0.2188 +0.2188 0.9062 0.25 +0.2188 0.9062 0.2812 +0.2188 0.9062 0.3125 +0.2188 0.9062 0.3438 +0.2188 0.9062 0.375 +0.2188 0.9062 0.4062 +0.2188 0.9062 0.4375 +0.2188 0.9062 0.4688 +0.2188 0.9062 0.5 +0.2188 0.9062 0.5312 +0.2188 0.9062 0.5625 +0.2188 0.9062 0.5938 +0.2188 0.9062 0.625 +0.2188 0.9062 0.6562 +0.2188 0.9062 0.6875 +0.2188 0.9062 0.7188 +0.2188 0.9062 0.75 +0.2188 0.9062 0.7812 +0.2188 0.9062 0.8125 +0.2188 0.9062 0.8438 +0.2188 0.9062 0.875 +0.2188 0.9062 0.9062 +0.2188 0.9062 0.9375 +0.2188 0.9062 0.9688 +0.2188 0.9062 1 +0.2188 0.9375 0 +0.2188 0.9375 0.03125 +0.2188 0.9375 0.0625 +0.2188 0.9375 0.09375 +0.2188 0.9375 0.125 +0.2188 0.9375 0.1562 +0.2188 0.9375 0.1875 +0.2188 0.9375 0.2188 +0.2188 0.9375 0.25 +0.2188 0.9375 0.2812 +0.2188 0.9375 0.3125 +0.2188 0.9375 0.3438 +0.2188 0.9375 0.375 +0.2188 0.9375 0.4062 +0.2188 0.9375 0.4375 +0.2188 0.9375 0.4688 +0.2188 0.9375 0.5 +0.2188 0.9375 0.5312 +0.2188 0.9375 0.5625 +0.2188 0.9375 0.5938 +0.2188 0.9375 0.625 +0.2188 0.9375 0.6562 +0.2188 0.9375 0.6875 +0.2188 0.9375 0.7188 +0.2188 0.9375 0.75 +0.2188 0.9375 0.7812 +0.2188 0.9375 0.8125 +0.2188 0.9375 0.8438 +0.2188 0.9375 0.875 +0.2188 0.9375 0.9062 +0.2188 0.9375 0.9375 +0.2188 0.9375 0.9688 +0.2188 0.9375 1 +0.2188 0.9688 0 +0.2188 0.9688 0.03125 +0.2188 0.9688 0.0625 +0.2188 0.9688 0.09375 +0.2188 0.9688 0.125 +0.2188 0.9688 0.1562 +0.2188 0.9688 0.1875 +0.2188 0.9688 0.2188 +0.2188 0.9688 0.25 +0.2188 0.9688 0.2812 +0.2188 0.9688 0.3125 +0.2188 0.9688 0.3438 +0.2188 0.9688 0.375 +0.2188 0.9688 0.4062 +0.2188 0.9688 0.4375 +0.2188 0.9688 0.4688 +0.2188 0.9688 0.5 +0.2188 0.9688 0.5312 +0.2188 0.9688 0.5625 +0.2188 0.9688 0.5938 +0.2188 0.9688 0.625 +0.2188 0.9688 0.6562 +0.2188 0.9688 0.6875 +0.2188 0.9688 0.7188 +0.2188 0.9688 0.75 +0.2188 0.9688 0.7812 +0.2188 0.9688 0.8125 +0.2188 0.9688 0.8438 +0.2188 0.9688 0.875 +0.2188 0.9688 0.9062 +0.2188 0.9688 0.9375 +0.2188 0.9688 0.9688 +0.2188 0.9688 1 +0.2188 1 0 +0.2188 1 0.03125 +0.2188 1 0.0625 +0.2188 1 0.09375 +0.2188 1 0.125 +0.2188 1 0.1562 +0.2188 1 0.1875 +0.2188 1 0.2188 +0.2188 1 0.25 +0.2188 1 0.2812 +0.2188 1 0.3125 +0.2188 1 0.3438 +0.2188 1 0.375 +0.2188 1 0.4062 +0.2188 1 0.4375 +0.2188 1 0.4688 +0.2188 1 0.5 +0.2188 1 0.5312 +0.2188 1 0.5625 +0.2188 1 0.5938 +0.2188 1 0.625 +0.2188 1 0.6562 +0.2188 1 0.6875 +0.2188 1 0.7188 +0.2188 1 0.75 +0.2188 1 0.7812 +0.2188 1 0.8125 +0.2188 1 0.8438 +0.2188 1 0.875 +0.2188 1 0.9062 +0.2188 1 0.9375 +0.2188 1 0.9688 +0.2188 1 1 +0.25 0 0 +0.25 0 0.03125 +0.25 0 0.0625 +0.25 0 0.09375 +0.25 0 0.125 +0.25 0 0.1562 +0.25 0 0.1875 +0.25 0 0.2188 +0.25 0 0.25 +0.25 0 0.2812 +0.25 0 0.3125 +0.25 0 0.3438 +0.25 0 0.375 +0.25 0 0.4062 +0.25 0 0.4375 +0.25 0 0.4688 +0.25 0 0.5 +0.25 0 0.5312 +0.25 0 0.5625 +0.25 0 0.5938 +0.25 0 0.625 +0.25 0 0.6562 +0.25 0 0.6875 +0.25 0 0.7188 +0.25 0 0.75 +0.25 0 0.7812 +0.25 0 0.8125 +0.25 0 0.8438 +0.25 0 0.875 +0.25 0 0.9062 +0.25 0 0.9375 +0.25 0 0.9688 +0.25 0 1 +0.25 0.03125 0 +0.25 0.03125 0.03125 +0.25 0.03125 0.0625 +0.25 0.03125 0.09375 +0.25 0.03125 0.125 +0.25 0.03125 0.1562 +0.25 0.03125 0.1875 +0.25 0.03125 0.2188 +0.25 0.03125 0.25 +0.25 0.03125 0.2812 +0.25 0.03125 0.3125 +0.25 0.03125 0.3438 +0.25 0.03125 0.375 +0.25 0.03125 0.4062 +0.25 0.03125 0.4375 +0.25 0.03125 0.4688 +0.25 0.03125 0.5 +0.25 0.03125 0.5312 +0.25 0.03125 0.5625 +0.25 0.03125 0.5938 +0.25 0.03125 0.625 +0.25 0.03125 0.6562 +0.25 0.03125 0.6875 +0.25 0.03125 0.7188 +0.25 0.03125 0.75 +0.25 0.03125 0.7812 +0.25 0.03125 0.8125 +0.25 0.03125 0.8438 +0.25 0.03125 0.875 +0.25 0.03125 0.9062 +0.25 0.03125 0.9375 +0.25 0.03125 0.9688 +0.25 0.03125 1 +0.25 0.0625 0 +0.25 0.0625 0.03125 +0.25 0.0625 0.0625 +0.25 0.0625 0.09375 +0.25 0.0625 0.125 +0.25 0.0625 0.1562 +0.25 0.0625 0.1875 +0.25 0.0625 0.2188 +0.25 0.0625 0.25 +0.25 0.0625 0.2812 +0.25 0.0625 0.3125 +0.25 0.0625 0.3438 +0.25 0.0625 0.375 +0.25 0.0625 0.4062 +0.25 0.0625 0.4375 +0.25 0.0625 0.4688 +0.25 0.0625 0.5 +0.25 0.0625 0.5312 +0.25 0.0625 0.5625 +0.25 0.0625 0.5938 +0.25 0.0625 0.625 +0.25 0.0625 0.6562 +0.25 0.0625 0.6875 +0.25 0.0625 0.7188 +0.25 0.0625 0.75 +0.25 0.0625 0.7812 +0.25 0.0625 0.8125 +0.25 0.0625 0.8438 +0.25 0.0625 0.875 +0.25 0.0625 0.9062 +0.25 0.0625 0.9375 +0.25 0.0625 0.9688 +0.25 0.0625 1 +0.25 0.09375 0 +0.25 0.09375 0.03125 +0.25 0.09375 0.0625 +0.25 0.09375 0.09375 +0.25 0.09375 0.125 +0.25 0.09375 0.1562 +0.25 0.09375 0.1875 +0.25 0.09375 0.2188 +0.25 0.09375 0.25 +0.25 0.09375 0.2812 +0.25 0.09375 0.3125 +0.25 0.09375 0.3438 +0.25 0.09375 0.375 +0.25 0.09375 0.4062 +0.25 0.09375 0.4375 +0.25 0.09375 0.4688 +0.25 0.09375 0.5 +0.25 0.09375 0.5312 +0.25 0.09375 0.5625 +0.25 0.09375 0.5938 +0.25 0.09375 0.625 +0.25 0.09375 0.6562 +0.25 0.09375 0.6875 +0.25 0.09375 0.7188 +0.25 0.09375 0.75 +0.25 0.09375 0.7812 +0.25 0.09375 0.8125 +0.25 0.09375 0.8438 +0.25 0.09375 0.875 +0.25 0.09375 0.9062 +0.25 0.09375 0.9375 +0.25 0.09375 0.9688 +0.25 0.09375 1 +0.25 0.125 0 +0.25 0.125 0.03125 +0.25 0.125 0.0625 +0.25 0.125 0.09375 +0.25 0.125 0.125 +0.25 0.125 0.1562 +0.25 0.125 0.1875 +0.25 0.125 0.2188 +0.25 0.125 0.25 +0.25 0.125 0.2812 +0.25 0.125 0.3125 +0.25 0.125 0.3438 +0.25 0.125 0.375 +0.25 0.125 0.4062 +0.25 0.125 0.4375 +0.25 0.125 0.4688 +0.25 0.125 0.5 +0.25 0.125 0.5312 +0.25 0.125 0.5625 +0.25 0.125 0.5938 +0.25 0.125 0.625 +0.25 0.125 0.6562 +0.25 0.125 0.6875 +0.25 0.125 0.7188 +0.25 0.125 0.75 +0.25 0.125 0.7812 +0.25 0.125 0.8125 +0.25 0.125 0.8438 +0.25 0.125 0.875 +0.25 0.125 0.9062 +0.25 0.125 0.9375 +0.25 0.125 0.9688 +0.25 0.125 1 +0.25 0.1562 0 +0.25 0.1562 0.03125 +0.25 0.1562 0.0625 +0.25 0.1562 0.09375 +0.25 0.1562 0.125 +0.25 0.1562 0.1562 +0.25 0.1562 0.1875 +0.25 0.1562 0.2188 +0.25 0.1562 0.25 +0.25 0.1562 0.2812 +0.25 0.1562 0.3125 +0.25 0.1562 0.3438 +0.25 0.1562 0.375 +0.25 0.1562 0.4062 +0.25 0.1562 0.4375 +0.25 0.1562 0.4688 +0.25 0.1562 0.5 +0.25 0.1562 0.5312 +0.25 0.1562 0.5625 +0.25 0.1562 0.5938 +0.25 0.1562 0.625 +0.25 0.1562 0.6562 +0.25 0.1562 0.6875 +0.25 0.1562 0.7188 +0.25 0.1562 0.75 +0.25 0.1562 0.7812 +0.25 0.1562 0.8125 +0.25 0.1562 0.8438 +0.25 0.1562 0.875 +0.25 0.1562 0.9062 +0.25 0.1562 0.9375 +0.25 0.1562 0.9688 +0.25 0.1562 1 +0.25 0.1875 0 +0.25 0.1875 0.03125 +0.25 0.1875 0.0625 +0.25 0.1875 0.09375 +0.25 0.1875 0.125 +0.25 0.1875 0.1562 +0.25 0.1875 0.1875 +0.25 0.1875 0.2188 +0.25 0.1875 0.25 +0.25 0.1875 0.2812 +0.25 0.1875 0.3125 +0.25 0.1875 0.3438 +0.25 0.1875 0.375 +0.25 0.1875 0.4062 +0.25 0.1875 0.4375 +0.25 0.1875 0.4688 +0.25 0.1875 0.5 +0.25 0.1875 0.5312 +0.25 0.1875 0.5625 +0.25 0.1875 0.5938 +0.25 0.1875 0.625 +0.25 0.1875 0.6562 +0.25 0.1875 0.6875 +0.25 0.1875 0.7188 +0.25 0.1875 0.75 +0.25 0.1875 0.7812 +0.25 0.1875 0.8125 +0.25 0.1875 0.8438 +0.25 0.1875 0.875 +0.25 0.1875 0.9062 +0.25 0.1875 0.9375 +0.25 0.1875 0.9688 +0.25 0.1875 1 +0.25 0.2188 0 +0.25 0.2188 0.03125 +0.25 0.2188 0.0625 +0.25 0.2188 0.09375 +0.25 0.2188 0.125 +0.25 0.2188 0.1562 +0.25 0.2188 0.1875 +0.25 0.2188 0.2188 +0.25 0.2188 0.25 +0.25 0.2188 0.2812 +0.25 0.2188 0.3125 +0.25 0.2188 0.3438 +0.25 0.2188 0.375 +0.25 0.2188 0.4062 +0.25 0.2188 0.4375 +0.25 0.2188 0.4688 +0.25 0.2188 0.5 +0.25 0.2188 0.5312 +0.25 0.2188 0.5625 +0.25 0.2188 0.5938 +0.25 0.2188 0.625 +0.25 0.2188 0.6562 +0.25 0.2188 0.6875 +0.25 0.2188 0.7188 +0.25 0.2188 0.75 +0.25 0.2188 0.7812 +0.25 0.2188 0.8125 +0.25 0.2188 0.8438 +0.25 0.2188 0.875 +0.25 0.2188 0.9062 +0.25 0.2188 0.9375 +0.25 0.2188 0.9688 +0.25 0.2188 1 +0.25 0.25 0 +0.25 0.25 0.03125 +0.25 0.25 0.0625 +0.25 0.25 0.09375 +0.25 0.25 0.125 +0.25 0.25 0.1562 +0.25 0.25 0.1875 +0.25 0.25 0.2188 +0.25 0.25 0.25 +0.25 0.25 0.2812 +0.25 0.25 0.3125 +0.25 0.25 0.3438 +0.25 0.25 0.375 +0.25 0.25 0.4062 +0.25 0.25 0.4375 +0.25 0.25 0.4688 +0.25 0.25 0.5 +0.25 0.25 0.5312 +0.25 0.25 0.5625 +0.25 0.25 0.5938 +0.25 0.25 0.625 +0.25 0.25 0.6562 +0.25 0.25 0.6875 +0.25 0.25 0.7188 +0.25 0.25 0.75 +0.25 0.25 0.7812 +0.25 0.25 0.8125 +0.25 0.25 0.8438 +0.25 0.25 0.875 +0.25 0.25 0.9062 +0.25 0.25 0.9375 +0.25 0.25 0.9688 +0.25 0.25 1 +0.25 0.2812 0 +0.25 0.2812 0.03125 +0.25 0.2812 0.0625 +0.25 0.2812 0.09375 +0.25 0.2812 0.125 +0.25 0.2812 0.1562 +0.25 0.2812 0.1875 +0.25 0.2812 0.2188 +0.25 0.2812 0.25 +0.25 0.2812 0.2812 +0.25 0.2812 0.3125 +0.25 0.2812 0.3438 +0.25 0.2812 0.375 +0.25 0.2812 0.4062 +0.25 0.2812 0.4375 +0.25 0.2812 0.4688 +0.25 0.2812 0.5 +0.25 0.2812 0.5312 +0.25 0.2812 0.5625 +0.25 0.2812 0.5938 +0.25 0.2812 0.625 +0.25 0.2812 0.6562 +0.25 0.2812 0.6875 +0.25 0.2812 0.7188 +0.25 0.2812 0.75 +0.25 0.2812 0.7812 +0.25 0.2812 0.8125 +0.25 0.2812 0.8438 +0.25 0.2812 0.875 +0.25 0.2812 0.9062 +0.25 0.2812 0.9375 +0.25 0.2812 0.9688 +0.25 0.2812 1 +0.25 0.3125 0 +0.25 0.3125 0.03125 +0.25 0.3125 0.0625 +0.25 0.3125 0.09375 +0.25 0.3125 0.125 +0.25 0.3125 0.1562 +0.25 0.3125 0.1875 +0.25 0.3125 0.2188 +0.25 0.3125 0.25 +0.25 0.3125 0.2812 +0.25 0.3125 0.3125 +0.25 0.3125 0.3438 +0.25 0.3125 0.375 +0.25 0.3125 0.4062 +0.25 0.3125 0.4375 +0.25 0.3125 0.4688 +0.25 0.3125 0.5 +0.25 0.3125 0.5312 +0.25 0.3125 0.5625 +0.25 0.3125 0.5938 +0.25 0.3125 0.625 +0.25 0.3125 0.6562 +0.25 0.3125 0.6875 +0.25 0.3125 0.7188 +0.25 0.3125 0.75 +0.25 0.3125 0.7812 +0.25 0.3125 0.8125 +0.25 0.3125 0.8438 +0.25 0.3125 0.875 +0.25 0.3125 0.9062 +0.25 0.3125 0.9375 +0.25 0.3125 0.9688 +0.25 0.3125 1 +0.25 0.3438 0 +0.25 0.3438 0.03125 +0.25 0.3438 0.0625 +0.25 0.3438 0.09375 +0.25 0.3438 0.125 +0.25 0.3438 0.1562 +0.25 0.3438 0.1875 +0.25 0.3438 0.2188 +0.25 0.3438 0.25 +0.25 0.3438 0.2812 +0.25 0.3438 0.3125 +0.25 0.3438 0.3438 +0.25 0.3438 0.375 +0.25 0.3438 0.4062 +0.25 0.3438 0.4375 +0.25 0.3438 0.4688 +0.25 0.3438 0.5 +0.25 0.3438 0.5312 +0.25 0.3438 0.5625 +0.25 0.3438 0.5938 +0.25 0.3438 0.625 +0.25 0.3438 0.6562 +0.25 0.3438 0.6875 +0.25 0.3438 0.7188 +0.25 0.3438 0.75 +0.25 0.3438 0.7812 +0.25 0.3438 0.8125 +0.25 0.3438 0.8438 +0.25 0.3438 0.875 +0.25 0.3438 0.9062 +0.25 0.3438 0.9375 +0.25 0.3438 0.9688 +0.25 0.3438 1 +0.25 0.375 0 +0.25 0.375 0.03125 +0.25 0.375 0.0625 +0.25 0.375 0.09375 +0.25 0.375 0.125 +0.25 0.375 0.1562 +0.25 0.375 0.1875 +0.25 0.375 0.2188 +0.25 0.375 0.25 +0.25 0.375 0.2812 +0.25 0.375 0.3125 +0.25 0.375 0.3438 +0.25 0.375 0.375 +0.25 0.375 0.4062 +0.25 0.375 0.4375 +0.25 0.375 0.4688 +0.25 0.375 0.5 +0.25 0.375 0.5312 +0.25 0.375 0.5625 +0.25 0.375 0.5938 +0.25 0.375 0.625 +0.25 0.375 0.6562 +0.25 0.375 0.6875 +0.25 0.375 0.7188 +0.25 0.375 0.75 +0.25 0.375 0.7812 +0.25 0.375 0.8125 +0.25 0.375 0.8438 +0.25 0.375 0.875 +0.25 0.375 0.9062 +0.25 0.375 0.9375 +0.25 0.375 0.9688 +0.25 0.375 1 +0.25 0.4062 0 +0.25 0.4062 0.03125 +0.25 0.4062 0.0625 +0.25 0.4062 0.09375 +0.25 0.4062 0.125 +0.25 0.4062 0.1562 +0.25 0.4062 0.1875 +0.25 0.4062 0.2188 +0.25 0.4062 0.25 +0.25 0.4062 0.2812 +0.25 0.4062 0.3125 +0.25 0.4062 0.3438 +0.25 0.4062 0.375 +0.25 0.4062 0.4062 +0.25 0.4062 0.4375 +0.25 0.4062 0.4688 +0.25 0.4062 0.5 +0.25 0.4062 0.5312 +0.25 0.4062 0.5625 +0.25 0.4062 0.5938 +0.25 0.4062 0.625 +0.25 0.4062 0.6562 +0.25 0.4062 0.6875 +0.25 0.4062 0.7188 +0.25 0.4062 0.75 +0.25 0.4062 0.7812 +0.25 0.4062 0.8125 +0.25 0.4062 0.8438 +0.25 0.4062 0.875 +0.25 0.4062 0.9062 +0.25 0.4062 0.9375 +0.25 0.4062 0.9688 +0.25 0.4062 1 +0.25 0.4375 0 +0.25 0.4375 0.03125 +0.25 0.4375 0.0625 +0.25 0.4375 0.09375 +0.25 0.4375 0.125 +0.25 0.4375 0.1562 +0.25 0.4375 0.1875 +0.25 0.4375 0.2188 +0.25 0.4375 0.25 +0.25 0.4375 0.2812 +0.25 0.4375 0.3125 +0.25 0.4375 0.3438 +0.25 0.4375 0.375 +0.25 0.4375 0.4062 +0.25 0.4375 0.4375 +0.25 0.4375 0.4688 +0.25 0.4375 0.5 +0.25 0.4375 0.5312 +0.25 0.4375 0.5625 +0.25 0.4375 0.5938 +0.25 0.4375 0.625 +0.25 0.4375 0.6562 +0.25 0.4375 0.6875 +0.25 0.4375 0.7188 +0.25 0.4375 0.75 +0.25 0.4375 0.7812 +0.25 0.4375 0.8125 +0.25 0.4375 0.8438 +0.25 0.4375 0.875 +0.25 0.4375 0.9062 +0.25 0.4375 0.9375 +0.25 0.4375 0.9688 +0.25 0.4375 1 +0.25 0.4688 0 +0.25 0.4688 0.03125 +0.25 0.4688 0.0625 +0.25 0.4688 0.09375 +0.25 0.4688 0.125 +0.25 0.4688 0.1562 +0.25 0.4688 0.1875 +0.25 0.4688 0.2188 +0.25 0.4688 0.25 +0.25 0.4688 0.2812 +0.25 0.4688 0.3125 +0.25 0.4688 0.3438 +0.25 0.4688 0.375 +0.25 0.4688 0.4062 +0.25 0.4688 0.4375 +0.25 0.4688 0.4688 +0.25 0.4688 0.5 +0.25 0.4688 0.5312 +0.25 0.4688 0.5625 +0.25 0.4688 0.5938 +0.25 0.4688 0.625 +0.25 0.4688 0.6562 +0.25 0.4688 0.6875 +0.25 0.4688 0.7188 +0.25 0.4688 0.75 +0.25 0.4688 0.7812 +0.25 0.4688 0.8125 +0.25 0.4688 0.8438 +0.25 0.4688 0.875 +0.25 0.4688 0.9062 +0.25 0.4688 0.9375 +0.25 0.4688 0.9688 +0.25 0.4688 1 +0.25 0.5 0 +0.25 0.5 0.03125 +0.25 0.5 0.0625 +0.25 0.5 0.09375 +0.25 0.5 0.125 +0.25 0.5 0.1562 +0.25 0.5 0.1875 +0.25 0.5 0.2188 +0.25 0.5 0.25 +0.25 0.5 0.2812 +0.25 0.5 0.3125 +0.25 0.5 0.3438 +0.25 0.5 0.375 +0.25 0.5 0.4062 +0.25 0.5 0.4375 +0.25 0.5 0.4688 +0.25 0.5 0.5 +0.25 0.5 0.5312 +0.25 0.5 0.5625 +0.25 0.5 0.5938 +0.25 0.5 0.625 +0.25 0.5 0.6562 +0.25 0.5 0.6875 +0.25 0.5 0.7188 +0.25 0.5 0.75 +0.25 0.5 0.7812 +0.25 0.5 0.8125 +0.25 0.5 0.8438 +0.25 0.5 0.875 +0.25 0.5 0.9062 +0.25 0.5 0.9375 +0.25 0.5 0.9688 +0.25 0.5 1 +0.25 0.5312 0 +0.25 0.5312 0.03125 +0.25 0.5312 0.0625 +0.25 0.5312 0.09375 +0.25 0.5312 0.125 +0.25 0.5312 0.1562 +0.25 0.5312 0.1875 +0.25 0.5312 0.2188 +0.25 0.5312 0.25 +0.25 0.5312 0.2812 +0.25 0.5312 0.3125 +0.25 0.5312 0.3438 +0.25 0.5312 0.375 +0.25 0.5312 0.4062 +0.25 0.5312 0.4375 +0.25 0.5312 0.4688 +0.25 0.5312 0.5 +0.25 0.5312 0.5312 +0.25 0.5312 0.5625 +0.25 0.5312 0.5938 +0.25 0.5312 0.625 +0.25 0.5312 0.6562 +0.25 0.5312 0.6875 +0.25 0.5312 0.7188 +0.25 0.5312 0.75 +0.25 0.5312 0.7812 +0.25 0.5312 0.8125 +0.25 0.5312 0.8438 +0.25 0.5312 0.875 +0.25 0.5312 0.9062 +0.25 0.5312 0.9375 +0.25 0.5312 0.9688 +0.25 0.5312 1 +0.25 0.5625 0 +0.25 0.5625 0.03125 +0.25 0.5625 0.0625 +0.25 0.5625 0.09375 +0.25 0.5625 0.125 +0.25 0.5625 0.1562 +0.25 0.5625 0.1875 +0.25 0.5625 0.2188 +0.25 0.5625 0.25 +0.25 0.5625 0.2812 +0.25 0.5625 0.3125 +0.25 0.5625 0.3438 +0.25 0.5625 0.375 +0.25 0.5625 0.4062 +0.25 0.5625 0.4375 +0.25 0.5625 0.4688 +0.25 0.5625 0.5 +0.25 0.5625 0.5312 +0.25 0.5625 0.5625 +0.25 0.5625 0.5938 +0.25 0.5625 0.625 +0.25 0.5625 0.6562 +0.25 0.5625 0.6875 +0.25 0.5625 0.7188 +0.25 0.5625 0.75 +0.25 0.5625 0.7812 +0.25 0.5625 0.8125 +0.25 0.5625 0.8438 +0.25 0.5625 0.875 +0.25 0.5625 0.9062 +0.25 0.5625 0.9375 +0.25 0.5625 0.9688 +0.25 0.5625 1 +0.25 0.5938 0 +0.25 0.5938 0.03125 +0.25 0.5938 0.0625 +0.25 0.5938 0.09375 +0.25 0.5938 0.125 +0.25 0.5938 0.1562 +0.25 0.5938 0.1875 +0.25 0.5938 0.2188 +0.25 0.5938 0.25 +0.25 0.5938 0.2812 +0.25 0.5938 0.3125 +0.25 0.5938 0.3438 +0.25 0.5938 0.375 +0.25 0.5938 0.4062 +0.25 0.5938 0.4375 +0.25 0.5938 0.4688 +0.25 0.5938 0.5 +0.25 0.5938 0.5312 +0.25 0.5938 0.5625 +0.25 0.5938 0.5938 +0.25 0.5938 0.625 +0.25 0.5938 0.6562 +0.25 0.5938 0.6875 +0.25 0.5938 0.7188 +0.25 0.5938 0.75 +0.25 0.5938 0.7812 +0.25 0.5938 0.8125 +0.25 0.5938 0.8438 +0.25 0.5938 0.875 +0.25 0.5938 0.9062 +0.25 0.5938 0.9375 +0.25 0.5938 0.9688 +0.25 0.5938 1 +0.25 0.625 0 +0.25 0.625 0.03125 +0.25 0.625 0.0625 +0.25 0.625 0.09375 +0.25 0.625 0.125 +0.25 0.625 0.1562 +0.25 0.625 0.1875 +0.25 0.625 0.2188 +0.25 0.625 0.25 +0.25 0.625 0.2812 +0.25 0.625 0.3125 +0.25 0.625 0.3438 +0.25 0.625 0.375 +0.25 0.625 0.4062 +0.25 0.625 0.4375 +0.25 0.625 0.4688 +0.25 0.625 0.5 +0.25 0.625 0.5312 +0.25 0.625 0.5625 +0.25 0.625 0.5938 +0.25 0.625 0.625 +0.25 0.625 0.6562 +0.25 0.625 0.6875 +0.25 0.625 0.7188 +0.25 0.625 0.75 +0.25 0.625 0.7812 +0.25 0.625 0.8125 +0.25 0.625 0.8438 +0.25 0.625 0.875 +0.25 0.625 0.9062 +0.25 0.625 0.9375 +0.25 0.625 0.9688 +0.25 0.625 1 +0.25 0.6562 0 +0.25 0.6562 0.03125 +0.25 0.6562 0.0625 +0.25 0.6562 0.09375 +0.25 0.6562 0.125 +0.25 0.6562 0.1562 +0.25 0.6562 0.1875 +0.25 0.6562 0.2188 +0.25 0.6562 0.25 +0.25 0.6562 0.2812 +0.25 0.6562 0.3125 +0.25 0.6562 0.3438 +0.25 0.6562 0.375 +0.25 0.6562 0.4062 +0.25 0.6562 0.4375 +0.25 0.6562 0.4688 +0.25 0.6562 0.5 +0.25 0.6562 0.5312 +0.25 0.6562 0.5625 +0.25 0.6562 0.5938 +0.25 0.6562 0.625 +0.25 0.6562 0.6562 +0.25 0.6562 0.6875 +0.25 0.6562 0.7188 +0.25 0.6562 0.75 +0.25 0.6562 0.7812 +0.25 0.6562 0.8125 +0.25 0.6562 0.8438 +0.25 0.6562 0.875 +0.25 0.6562 0.9062 +0.25 0.6562 0.9375 +0.25 0.6562 0.9688 +0.25 0.6562 1 +0.25 0.6875 0 +0.25 0.6875 0.03125 +0.25 0.6875 0.0625 +0.25 0.6875 0.09375 +0.25 0.6875 0.125 +0.25 0.6875 0.1562 +0.25 0.6875 0.1875 +0.25 0.6875 0.2188 +0.25 0.6875 0.25 +0.25 0.6875 0.2812 +0.25 0.6875 0.3125 +0.25 0.6875 0.3438 +0.25 0.6875 0.375 +0.25 0.6875 0.4062 +0.25 0.6875 0.4375 +0.25 0.6875 0.4688 +0.25 0.6875 0.5 +0.25 0.6875 0.5312 +0.25 0.6875 0.5625 +0.25 0.6875 0.5938 +0.25 0.6875 0.625 +0.25 0.6875 0.6562 +0.25 0.6875 0.6875 +0.25 0.6875 0.7188 +0.25 0.6875 0.75 +0.25 0.6875 0.7812 +0.25 0.6875 0.8125 +0.25 0.6875 0.8438 +0.25 0.6875 0.875 +0.25 0.6875 0.9062 +0.25 0.6875 0.9375 +0.25 0.6875 0.9688 +0.25 0.6875 1 +0.25 0.7188 0 +0.25 0.7188 0.03125 +0.25 0.7188 0.0625 +0.25 0.7188 0.09375 +0.25 0.7188 0.125 +0.25 0.7188 0.1562 +0.25 0.7188 0.1875 +0.25 0.7188 0.2188 +0.25 0.7188 0.25 +0.25 0.7188 0.2812 +0.25 0.7188 0.3125 +0.25 0.7188 0.3438 +0.25 0.7188 0.375 +0.25 0.7188 0.4062 +0.25 0.7188 0.4375 +0.25 0.7188 0.4688 +0.25 0.7188 0.5 +0.25 0.7188 0.5312 +0.25 0.7188 0.5625 +0.25 0.7188 0.5938 +0.25 0.7188 0.625 +0.25 0.7188 0.6562 +0.25 0.7188 0.6875 +0.25 0.7188 0.7188 +0.25 0.7188 0.75 +0.25 0.7188 0.7812 +0.25 0.7188 0.8125 +0.25 0.7188 0.8438 +0.25 0.7188 0.875 +0.25 0.7188 0.9062 +0.25 0.7188 0.9375 +0.25 0.7188 0.9688 +0.25 0.7188 1 +0.25 0.75 0 +0.25 0.75 0.03125 +0.25 0.75 0.0625 +0.25 0.75 0.09375 +0.25 0.75 0.125 +0.25 0.75 0.1562 +0.25 0.75 0.1875 +0.25 0.75 0.2188 +0.25 0.75 0.25 +0.25 0.75 0.2812 +0.25 0.75 0.3125 +0.25 0.75 0.3438 +0.25 0.75 0.375 +0.25 0.75 0.4062 +0.25 0.75 0.4375 +0.25 0.75 0.4688 +0.25 0.75 0.5 +0.25 0.75 0.5312 +0.25 0.75 0.5625 +0.25 0.75 0.5938 +0.25 0.75 0.625 +0.25 0.75 0.6562 +0.25 0.75 0.6875 +0.25 0.75 0.7188 +0.25 0.75 0.75 +0.25 0.75 0.7812 +0.25 0.75 0.8125 +0.25 0.75 0.8438 +0.25 0.75 0.875 +0.25 0.75 0.9062 +0.25 0.75 0.9375 +0.25 0.75 0.9688 +0.25 0.75 1 +0.25 0.7812 0 +0.25 0.7812 0.03125 +0.25 0.7812 0.0625 +0.25 0.7812 0.09375 +0.25 0.7812 0.125 +0.25 0.7812 0.1562 +0.25 0.7812 0.1875 +0.25 0.7812 0.2188 +0.25 0.7812 0.25 +0.25 0.7812 0.2812 +0.25 0.7812 0.3125 +0.25 0.7812 0.3438 +0.25 0.7812 0.375 +0.25 0.7812 0.4062 +0.25 0.7812 0.4375 +0.25 0.7812 0.4688 +0.25 0.7812 0.5 +0.25 0.7812 0.5312 +0.25 0.7812 0.5625 +0.25 0.7812 0.5938 +0.25 0.7812 0.625 +0.25 0.7812 0.6562 +0.25 0.7812 0.6875 +0.25 0.7812 0.7188 +0.25 0.7812 0.75 +0.25 0.7812 0.7812 +0.25 0.7812 0.8125 +0.25 0.7812 0.8438 +0.25 0.7812 0.875 +0.25 0.7812 0.9062 +0.25 0.7812 0.9375 +0.25 0.7812 0.9688 +0.25 0.7812 1 +0.25 0.8125 0 +0.25 0.8125 0.03125 +0.25 0.8125 0.0625 +0.25 0.8125 0.09375 +0.25 0.8125 0.125 +0.25 0.8125 0.1562 +0.25 0.8125 0.1875 +0.25 0.8125 0.2188 +0.25 0.8125 0.25 +0.25 0.8125 0.2812 +0.25 0.8125 0.3125 +0.25 0.8125 0.3438 +0.25 0.8125 0.375 +0.25 0.8125 0.4062 +0.25 0.8125 0.4375 +0.25 0.8125 0.4688 +0.25 0.8125 0.5 +0.25 0.8125 0.5312 +0.25 0.8125 0.5625 +0.25 0.8125 0.5938 +0.25 0.8125 0.625 +0.25 0.8125 0.6562 +0.25 0.8125 0.6875 +0.25 0.8125 0.7188 +0.25 0.8125 0.75 +0.25 0.8125 0.7812 +0.25 0.8125 0.8125 +0.25 0.8125 0.8438 +0.25 0.8125 0.875 +0.25 0.8125 0.9062 +0.25 0.8125 0.9375 +0.25 0.8125 0.9688 +0.25 0.8125 1 +0.25 0.8438 0 +0.25 0.8438 0.03125 +0.25 0.8438 0.0625 +0.25 0.8438 0.09375 +0.25 0.8438 0.125 +0.25 0.8438 0.1562 +0.25 0.8438 0.1875 +0.25 0.8438 0.2188 +0.25 0.8438 0.25 +0.25 0.8438 0.2812 +0.25 0.8438 0.3125 +0.25 0.8438 0.3438 +0.25 0.8438 0.375 +0.25 0.8438 0.4062 +0.25 0.8438 0.4375 +0.25 0.8438 0.4688 +0.25 0.8438 0.5 +0.25 0.8438 0.5312 +0.25 0.8438 0.5625 +0.25 0.8438 0.5938 +0.25 0.8438 0.625 +0.25 0.8438 0.6562 +0.25 0.8438 0.6875 +0.25 0.8438 0.7188 +0.25 0.8438 0.75 +0.25 0.8438 0.7812 +0.25 0.8438 0.8125 +0.25 0.8438 0.8438 +0.25 0.8438 0.875 +0.25 0.8438 0.9062 +0.25 0.8438 0.9375 +0.25 0.8438 0.9688 +0.25 0.8438 1 +0.25 0.875 0 +0.25 0.875 0.03125 +0.25 0.875 0.0625 +0.25 0.875 0.09375 +0.25 0.875 0.125 +0.25 0.875 0.1562 +0.25 0.875 0.1875 +0.25 0.875 0.2188 +0.25 0.875 0.25 +0.25 0.875 0.2812 +0.25 0.875 0.3125 +0.25 0.875 0.3438 +0.25 0.875 0.375 +0.25 0.875 0.4062 +0.25 0.875 0.4375 +0.25 0.875 0.4688 +0.25 0.875 0.5 +0.25 0.875 0.5312 +0.25 0.875 0.5625 +0.25 0.875 0.5938 +0.25 0.875 0.625 +0.25 0.875 0.6562 +0.25 0.875 0.6875 +0.25 0.875 0.7188 +0.25 0.875 0.75 +0.25 0.875 0.7812 +0.25 0.875 0.8125 +0.25 0.875 0.8438 +0.25 0.875 0.875 +0.25 0.875 0.9062 +0.25 0.875 0.9375 +0.25 0.875 0.9688 +0.25 0.875 1 +0.25 0.9062 0 +0.25 0.9062 0.03125 +0.25 0.9062 0.0625 +0.25 0.9062 0.09375 +0.25 0.9062 0.125 +0.25 0.9062 0.1562 +0.25 0.9062 0.1875 +0.25 0.9062 0.2188 +0.25 0.9062 0.25 +0.25 0.9062 0.2812 +0.25 0.9062 0.3125 +0.25 0.9062 0.3438 +0.25 0.9062 0.375 +0.25 0.9062 0.4062 +0.25 0.9062 0.4375 +0.25 0.9062 0.4688 +0.25 0.9062 0.5 +0.25 0.9062 0.5312 +0.25 0.9062 0.5625 +0.25 0.9062 0.5938 +0.25 0.9062 0.625 +0.25 0.9062 0.6562 +0.25 0.9062 0.6875 +0.25 0.9062 0.7188 +0.25 0.9062 0.75 +0.25 0.9062 0.7812 +0.25 0.9062 0.8125 +0.25 0.9062 0.8438 +0.25 0.9062 0.875 +0.25 0.9062 0.9062 +0.25 0.9062 0.9375 +0.25 0.9062 0.9688 +0.25 0.9062 1 +0.25 0.9375 0 +0.25 0.9375 0.03125 +0.25 0.9375 0.0625 +0.25 0.9375 0.09375 +0.25 0.9375 0.125 +0.25 0.9375 0.1562 +0.25 0.9375 0.1875 +0.25 0.9375 0.2188 +0.25 0.9375 0.25 +0.25 0.9375 0.2812 +0.25 0.9375 0.3125 +0.25 0.9375 0.3438 +0.25 0.9375 0.375 +0.25 0.9375 0.4062 +0.25 0.9375 0.4375 +0.25 0.9375 0.4688 +0.25 0.9375 0.5 +0.25 0.9375 0.5312 +0.25 0.9375 0.5625 +0.25 0.9375 0.5938 +0.25 0.9375 0.625 +0.25 0.9375 0.6562 +0.25 0.9375 0.6875 +0.25 0.9375 0.7188 +0.25 0.9375 0.75 +0.25 0.9375 0.7812 +0.25 0.9375 0.8125 +0.25 0.9375 0.8438 +0.25 0.9375 0.875 +0.25 0.9375 0.9062 +0.25 0.9375 0.9375 +0.25 0.9375 0.9688 +0.25 0.9375 1 +0.25 0.9688 0 +0.25 0.9688 0.03125 +0.25 0.9688 0.0625 +0.25 0.9688 0.09375 +0.25 0.9688 0.125 +0.25 0.9688 0.1562 +0.25 0.9688 0.1875 +0.25 0.9688 0.2188 +0.25 0.9688 0.25 +0.25 0.9688 0.2812 +0.25 0.9688 0.3125 +0.25 0.9688 0.3438 +0.25 0.9688 0.375 +0.25 0.9688 0.4062 +0.25 0.9688 0.4375 +0.25 0.9688 0.4688 +0.25 0.9688 0.5 +0.25 0.9688 0.5312 +0.25 0.9688 0.5625 +0.25 0.9688 0.5938 +0.25 0.9688 0.625 +0.25 0.9688 0.6562 +0.25 0.9688 0.6875 +0.25 0.9688 0.7188 +0.25 0.9688 0.75 +0.25 0.9688 0.7812 +0.25 0.9688 0.8125 +0.25 0.9688 0.8438 +0.25 0.9688 0.875 +0.25 0.9688 0.9062 +0.25 0.9688 0.9375 +0.25 0.9688 0.9688 +0.25 0.9688 1 +0.25 1 0 +0.25 1 0.03125 +0.25 1 0.0625 +0.25 1 0.09375 +0.25 1 0.125 +0.25 1 0.1562 +0.25 1 0.1875 +0.25 1 0.2188 +0.25 1 0.25 +0.25 1 0.2812 +0.25 1 0.3125 +0.25 1 0.3438 +0.25 1 0.375 +0.25 1 0.4062 +0.25 1 0.4375 +0.25 1 0.4688 +0.25 1 0.5 +0.25 1 0.5312 +0.25 1 0.5625 +0.25 1 0.5938 +0.25 1 0.625 +0.25 1 0.6562 +0.25 1 0.6875 +0.25 1 0.7188 +0.25 1 0.75 +0.25 1 0.7812 +0.25 1 0.8125 +0.25 1 0.8438 +0.25 1 0.875 +0.25 1 0.9062 +0.25 1 0.9375 +0.25 1 0.9688 +0.25 1 1 +0.2812 0 0 +0.2812 0 0.03125 +0.2812 0 0.0625 +0.2812 0 0.09375 +0.2812 0 0.125 +0.2812 0 0.1562 +0.2812 0 0.1875 +0.2812 0 0.2188 +0.2812 0 0.25 +0.2812 0 0.2812 +0.2812 0 0.3125 +0.2812 0 0.3438 +0.2812 0 0.375 +0.2812 0 0.4062 +0.2812 0 0.4375 +0.2812 0 0.4688 +0.2812 0 0.5 +0.2812 0 0.5312 +0.2812 0 0.5625 +0.2812 0 0.5938 +0.2812 0 0.625 +0.2812 0 0.6562 +0.2812 0 0.6875 +0.2812 0 0.7188 +0.2812 0 0.75 +0.2812 0 0.7812 +0.2812 0 0.8125 +0.2812 0 0.8438 +0.2812 0 0.875 +0.2812 0 0.9062 +0.2812 0 0.9375 +0.2812 0 0.9688 +0.2812 0 1 +0.2812 0.03125 0 +0.2812 0.03125 0.03125 +0.2812 0.03125 0.0625 +0.2812 0.03125 0.09375 +0.2812 0.03125 0.125 +0.2812 0.03125 0.1562 +0.2812 0.03125 0.1875 +0.2812 0.03125 0.2188 +0.2812 0.03125 0.25 +0.2812 0.03125 0.2812 +0.2812 0.03125 0.3125 +0.2812 0.03125 0.3438 +0.2812 0.03125 0.375 +0.2812 0.03125 0.4062 +0.2812 0.03125 0.4375 +0.2812 0.03125 0.4688 +0.2812 0.03125 0.5 +0.2812 0.03125 0.5312 +0.2812 0.03125 0.5625 +0.2812 0.03125 0.5938 +0.2812 0.03125 0.625 +0.2812 0.03125 0.6562 +0.2812 0.03125 0.6875 +0.2812 0.03125 0.7188 +0.2812 0.03125 0.75 +0.2812 0.03125 0.7812 +0.2812 0.03125 0.8125 +0.2812 0.03125 0.8438 +0.2812 0.03125 0.875 +0.2812 0.03125 0.9062 +0.2812 0.03125 0.9375 +0.2812 0.03125 0.9688 +0.2812 0.03125 1 +0.2812 0.0625 0 +0.2812 0.0625 0.03125 +0.2812 0.0625 0.0625 +0.2812 0.0625 0.09375 +0.2812 0.0625 0.125 +0.2812 0.0625 0.1562 +0.2812 0.0625 0.1875 +0.2812 0.0625 0.2188 +0.2812 0.0625 0.25 +0.2812 0.0625 0.2812 +0.2812 0.0625 0.3125 +0.2812 0.0625 0.3438 +0.2812 0.0625 0.375 +0.2812 0.0625 0.4062 +0.2812 0.0625 0.4375 +0.2812 0.0625 0.4688 +0.2812 0.0625 0.5 +0.2812 0.0625 0.5312 +0.2812 0.0625 0.5625 +0.2812 0.0625 0.5938 +0.2812 0.0625 0.625 +0.2812 0.0625 0.6562 +0.2812 0.0625 0.6875 +0.2812 0.0625 0.7188 +0.2812 0.0625 0.75 +0.2812 0.0625 0.7812 +0.2812 0.0625 0.8125 +0.2812 0.0625 0.8438 +0.2812 0.0625 0.875 +0.2812 0.0625 0.9062 +0.2812 0.0625 0.9375 +0.2812 0.0625 0.9688 +0.2812 0.0625 1 +0.2812 0.09375 0 +0.2812 0.09375 0.03125 +0.2812 0.09375 0.0625 +0.2812 0.09375 0.09375 +0.2812 0.09375 0.125 +0.2812 0.09375 0.1562 +0.2812 0.09375 0.1875 +0.2812 0.09375 0.2188 +0.2812 0.09375 0.25 +0.2812 0.09375 0.2812 +0.2812 0.09375 0.3125 +0.2812 0.09375 0.3438 +0.2812 0.09375 0.375 +0.2812 0.09375 0.4062 +0.2812 0.09375 0.4375 +0.2812 0.09375 0.4688 +0.2812 0.09375 0.5 +0.2812 0.09375 0.5312 +0.2812 0.09375 0.5625 +0.2812 0.09375 0.5938 +0.2812 0.09375 0.625 +0.2812 0.09375 0.6562 +0.2812 0.09375 0.6875 +0.2812 0.09375 0.7188 +0.2812 0.09375 0.75 +0.2812 0.09375 0.7812 +0.2812 0.09375 0.8125 +0.2812 0.09375 0.8438 +0.2812 0.09375 0.875 +0.2812 0.09375 0.9062 +0.2812 0.09375 0.9375 +0.2812 0.09375 0.9688 +0.2812 0.09375 1 +0.2812 0.125 0 +0.2812 0.125 0.03125 +0.2812 0.125 0.0625 +0.2812 0.125 0.09375 +0.2812 0.125 0.125 +0.2812 0.125 0.1562 +0.2812 0.125 0.1875 +0.2812 0.125 0.2188 +0.2812 0.125 0.25 +0.2812 0.125 0.2812 +0.2812 0.125 0.3125 +0.2812 0.125 0.3438 +0.2812 0.125 0.375 +0.2812 0.125 0.4062 +0.2812 0.125 0.4375 +0.2812 0.125 0.4688 +0.2812 0.125 0.5 +0.2812 0.125 0.5312 +0.2812 0.125 0.5625 +0.2812 0.125 0.5938 +0.2812 0.125 0.625 +0.2812 0.125 0.6562 +0.2812 0.125 0.6875 +0.2812 0.125 0.7188 +0.2812 0.125 0.75 +0.2812 0.125 0.7812 +0.2812 0.125 0.8125 +0.2812 0.125 0.8438 +0.2812 0.125 0.875 +0.2812 0.125 0.9062 +0.2812 0.125 0.9375 +0.2812 0.125 0.9688 +0.2812 0.125 1 +0.2812 0.1562 0 +0.2812 0.1562 0.03125 +0.2812 0.1562 0.0625 +0.2812 0.1562 0.09375 +0.2812 0.1562 0.125 +0.2812 0.1562 0.1562 +0.2812 0.1562 0.1875 +0.2812 0.1562 0.2188 +0.2812 0.1562 0.25 +0.2812 0.1562 0.2812 +0.2812 0.1562 0.3125 +0.2812 0.1562 0.3438 +0.2812 0.1562 0.375 +0.2812 0.1562 0.4062 +0.2812 0.1562 0.4375 +0.2812 0.1562 0.4688 +0.2812 0.1562 0.5 +0.2812 0.1562 0.5312 +0.2812 0.1562 0.5625 +0.2812 0.1562 0.5938 +0.2812 0.1562 0.625 +0.2812 0.1562 0.6562 +0.2812 0.1562 0.6875 +0.2812 0.1562 0.7188 +0.2812 0.1562 0.75 +0.2812 0.1562 0.7812 +0.2812 0.1562 0.8125 +0.2812 0.1562 0.8438 +0.2812 0.1562 0.875 +0.2812 0.1562 0.9062 +0.2812 0.1562 0.9375 +0.2812 0.1562 0.9688 +0.2812 0.1562 1 +0.2812 0.1875 0 +0.2812 0.1875 0.03125 +0.2812 0.1875 0.0625 +0.2812 0.1875 0.09375 +0.2812 0.1875 0.125 +0.2812 0.1875 0.1562 +0.2812 0.1875 0.1875 +0.2812 0.1875 0.2188 +0.2812 0.1875 0.25 +0.2812 0.1875 0.2812 +0.2812 0.1875 0.3125 +0.2812 0.1875 0.3438 +0.2812 0.1875 0.375 +0.2812 0.1875 0.4062 +0.2812 0.1875 0.4375 +0.2812 0.1875 0.4688 +0.2812 0.1875 0.5 +0.2812 0.1875 0.5312 +0.2812 0.1875 0.5625 +0.2812 0.1875 0.5938 +0.2812 0.1875 0.625 +0.2812 0.1875 0.6562 +0.2812 0.1875 0.6875 +0.2812 0.1875 0.7188 +0.2812 0.1875 0.75 +0.2812 0.1875 0.7812 +0.2812 0.1875 0.8125 +0.2812 0.1875 0.8438 +0.2812 0.1875 0.875 +0.2812 0.1875 0.9062 +0.2812 0.1875 0.9375 +0.2812 0.1875 0.9688 +0.2812 0.1875 1 +0.2812 0.2188 0 +0.2812 0.2188 0.03125 +0.2812 0.2188 0.0625 +0.2812 0.2188 0.09375 +0.2812 0.2188 0.125 +0.2812 0.2188 0.1562 +0.2812 0.2188 0.1875 +0.2812 0.2188 0.2188 +0.2812 0.2188 0.25 +0.2812 0.2188 0.2812 +0.2812 0.2188 0.3125 +0.2812 0.2188 0.3438 +0.2812 0.2188 0.375 +0.2812 0.2188 0.4062 +0.2812 0.2188 0.4375 +0.2812 0.2188 0.4688 +0.2812 0.2188 0.5 +0.2812 0.2188 0.5312 +0.2812 0.2188 0.5625 +0.2812 0.2188 0.5938 +0.2812 0.2188 0.625 +0.2812 0.2188 0.6562 +0.2812 0.2188 0.6875 +0.2812 0.2188 0.7188 +0.2812 0.2188 0.75 +0.2812 0.2188 0.7812 +0.2812 0.2188 0.8125 +0.2812 0.2188 0.8438 +0.2812 0.2188 0.875 +0.2812 0.2188 0.9062 +0.2812 0.2188 0.9375 +0.2812 0.2188 0.9688 +0.2812 0.2188 1 +0.2812 0.25 0 +0.2812 0.25 0.03125 +0.2812 0.25 0.0625 +0.2812 0.25 0.09375 +0.2812 0.25 0.125 +0.2812 0.25 0.1562 +0.2812 0.25 0.1875 +0.2812 0.25 0.2188 +0.2812 0.25 0.25 +0.2812 0.25 0.2812 +0.2812 0.25 0.3125 +0.2812 0.25 0.3438 +0.2812 0.25 0.375 +0.2812 0.25 0.4062 +0.2812 0.25 0.4375 +0.2812 0.25 0.4688 +0.2812 0.25 0.5 +0.2812 0.25 0.5312 +0.2812 0.25 0.5625 +0.2812 0.25 0.5938 +0.2812 0.25 0.625 +0.2812 0.25 0.6562 +0.2812 0.25 0.6875 +0.2812 0.25 0.7188 +0.2812 0.25 0.75 +0.2812 0.25 0.7812 +0.2812 0.25 0.8125 +0.2812 0.25 0.8438 +0.2812 0.25 0.875 +0.2812 0.25 0.9062 +0.2812 0.25 0.9375 +0.2812 0.25 0.9688 +0.2812 0.25 1 +0.2812 0.2812 0 +0.2812 0.2812 0.03125 +0.2812 0.2812 0.0625 +0.2812 0.2812 0.09375 +0.2812 0.2812 0.125 +0.2812 0.2812 0.1562 +0.2812 0.2812 0.1875 +0.2812 0.2812 0.2188 +0.2812 0.2812 0.25 +0.2812 0.2812 0.2812 +0.2812 0.2812 0.3125 +0.2812 0.2812 0.3438 +0.2812 0.2812 0.375 +0.2812 0.2812 0.4062 +0.2812 0.2812 0.4375 +0.2812 0.2812 0.4688 +0.2812 0.2812 0.5 +0.2812 0.2812 0.5312 +0.2812 0.2812 0.5625 +0.2812 0.2812 0.5938 +0.2812 0.2812 0.625 +0.2812 0.2812 0.6562 +0.2812 0.2812 0.6875 +0.2812 0.2812 0.7188 +0.2812 0.2812 0.75 +0.2812 0.2812 0.7812 +0.2812 0.2812 0.8125 +0.2812 0.2812 0.8438 +0.2812 0.2812 0.875 +0.2812 0.2812 0.9062 +0.2812 0.2812 0.9375 +0.2812 0.2812 0.9688 +0.2812 0.2812 1 +0.2812 0.3125 0 +0.2812 0.3125 0.03125 +0.2812 0.3125 0.0625 +0.2812 0.3125 0.09375 +0.2812 0.3125 0.125 +0.2812 0.3125 0.1562 +0.2812 0.3125 0.1875 +0.2812 0.3125 0.2188 +0.2812 0.3125 0.25 +0.2812 0.3125 0.2812 +0.2812 0.3125 0.3125 +0.2812 0.3125 0.3438 +0.2812 0.3125 0.375 +0.2812 0.3125 0.4062 +0.2812 0.3125 0.4375 +0.2812 0.3125 0.4688 +0.2812 0.3125 0.5 +0.2812 0.3125 0.5312 +0.2812 0.3125 0.5625 +0.2812 0.3125 0.5938 +0.2812 0.3125 0.625 +0.2812 0.3125 0.6562 +0.2812 0.3125 0.6875 +0.2812 0.3125 0.7188 +0.2812 0.3125 0.75 +0.2812 0.3125 0.7812 +0.2812 0.3125 0.8125 +0.2812 0.3125 0.8438 +0.2812 0.3125 0.875 +0.2812 0.3125 0.9062 +0.2812 0.3125 0.9375 +0.2812 0.3125 0.9688 +0.2812 0.3125 1 +0.2812 0.3438 0 +0.2812 0.3438 0.03125 +0.2812 0.3438 0.0625 +0.2812 0.3438 0.09375 +0.2812 0.3438 0.125 +0.2812 0.3438 0.1562 +0.2812 0.3438 0.1875 +0.2812 0.3438 0.2188 +0.2812 0.3438 0.25 +0.2812 0.3438 0.2812 +0.2812 0.3438 0.3125 +0.2812 0.3438 0.3438 +0.2812 0.3438 0.375 +0.2812 0.3438 0.4062 +0.2812 0.3438 0.4375 +0.2812 0.3438 0.4688 +0.2812 0.3438 0.5 +0.2812 0.3438 0.5312 +0.2812 0.3438 0.5625 +0.2812 0.3438 0.5938 +0.2812 0.3438 0.625 +0.2812 0.3438 0.6562 +0.2812 0.3438 0.6875 +0.2812 0.3438 0.7188 +0.2812 0.3438 0.75 +0.2812 0.3438 0.7812 +0.2812 0.3438 0.8125 +0.2812 0.3438 0.8438 +0.2812 0.3438 0.875 +0.2812 0.3438 0.9062 +0.2812 0.3438 0.9375 +0.2812 0.3438 0.9688 +0.2812 0.3438 1 +0.2812 0.375 0 +0.2812 0.375 0.03125 +0.2812 0.375 0.0625 +0.2812 0.375 0.09375 +0.2812 0.375 0.125 +0.2812 0.375 0.1562 +0.2812 0.375 0.1875 +0.2812 0.375 0.2188 +0.2812 0.375 0.25 +0.2812 0.375 0.2812 +0.2812 0.375 0.3125 +0.2812 0.375 0.3438 +0.2812 0.375 0.375 +0.2812 0.375 0.4062 +0.2812 0.375 0.4375 +0.2812 0.375 0.4688 +0.2812 0.375 0.5 +0.2812 0.375 0.5312 +0.2812 0.375 0.5625 +0.2812 0.375 0.5938 +0.2812 0.375 0.625 +0.2812 0.375 0.6562 +0.2812 0.375 0.6875 +0.2812 0.375 0.7188 +0.2812 0.375 0.75 +0.2812 0.375 0.7812 +0.2812 0.375 0.8125 +0.2812 0.375 0.8438 +0.2812 0.375 0.875 +0.2812 0.375 0.9062 +0.2812 0.375 0.9375 +0.2812 0.375 0.9688 +0.2812 0.375 1 +0.2812 0.4062 0 +0.2812 0.4062 0.03125 +0.2812 0.4062 0.0625 +0.2812 0.4062 0.09375 +0.2812 0.4062 0.125 +0.2812 0.4062 0.1562 +0.2812 0.4062 0.1875 +0.2812 0.4062 0.2188 +0.2812 0.4062 0.25 +0.2812 0.4062 0.2812 +0.2812 0.4062 0.3125 +0.2812 0.4062 0.3438 +0.2812 0.4062 0.375 +0.2812 0.4062 0.4062 +0.2812 0.4062 0.4375 +0.2812 0.4062 0.4688 +0.2812 0.4062 0.5 +0.2812 0.4062 0.5312 +0.2812 0.4062 0.5625 +0.2812 0.4062 0.5938 +0.2812 0.4062 0.625 +0.2812 0.4062 0.6562 +0.2812 0.4062 0.6875 +0.2812 0.4062 0.7188 +0.2812 0.4062 0.75 +0.2812 0.4062 0.7812 +0.2812 0.4062 0.8125 +0.2812 0.4062 0.8438 +0.2812 0.4062 0.875 +0.2812 0.4062 0.9062 +0.2812 0.4062 0.9375 +0.2812 0.4062 0.9688 +0.2812 0.4062 1 +0.2812 0.4375 0 +0.2812 0.4375 0.03125 +0.2812 0.4375 0.0625 +0.2812 0.4375 0.09375 +0.2812 0.4375 0.125 +0.2812 0.4375 0.1562 +0.2812 0.4375 0.1875 +0.2812 0.4375 0.2188 +0.2812 0.4375 0.25 +0.2812 0.4375 0.2812 +0.2812 0.4375 0.3125 +0.2812 0.4375 0.3438 +0.2812 0.4375 0.375 +0.2812 0.4375 0.4062 +0.2812 0.4375 0.4375 +0.2812 0.4375 0.4688 +0.2812 0.4375 0.5 +0.2812 0.4375 0.5312 +0.2812 0.4375 0.5625 +0.2812 0.4375 0.5938 +0.2812 0.4375 0.625 +0.2812 0.4375 0.6562 +0.2812 0.4375 0.6875 +0.2812 0.4375 0.7188 +0.2812 0.4375 0.75 +0.2812 0.4375 0.7812 +0.2812 0.4375 0.8125 +0.2812 0.4375 0.8438 +0.2812 0.4375 0.875 +0.2812 0.4375 0.9062 +0.2812 0.4375 0.9375 +0.2812 0.4375 0.9688 +0.2812 0.4375 1 +0.2812 0.4688 0 +0.2812 0.4688 0.03125 +0.2812 0.4688 0.0625 +0.2812 0.4688 0.09375 +0.2812 0.4688 0.125 +0.2812 0.4688 0.1562 +0.2812 0.4688 0.1875 +0.2812 0.4688 0.2188 +0.2812 0.4688 0.25 +0.2812 0.4688 0.2812 +0.2812 0.4688 0.3125 +0.2812 0.4688 0.3438 +0.2812 0.4688 0.375 +0.2812 0.4688 0.4062 +0.2812 0.4688 0.4375 +0.2812 0.4688 0.4688 +0.2812 0.4688 0.5 +0.2812 0.4688 0.5312 +0.2812 0.4688 0.5625 +0.2812 0.4688 0.5938 +0.2812 0.4688 0.625 +0.2812 0.4688 0.6562 +0.2812 0.4688 0.6875 +0.2812 0.4688 0.7188 +0.2812 0.4688 0.75 +0.2812 0.4688 0.7812 +0.2812 0.4688 0.8125 +0.2812 0.4688 0.8438 +0.2812 0.4688 0.875 +0.2812 0.4688 0.9062 +0.2812 0.4688 0.9375 +0.2812 0.4688 0.9688 +0.2812 0.4688 1 +0.2812 0.5 0 +0.2812 0.5 0.03125 +0.2812 0.5 0.0625 +0.2812 0.5 0.09375 +0.2812 0.5 0.125 +0.2812 0.5 0.1562 +0.2812 0.5 0.1875 +0.2812 0.5 0.2188 +0.2812 0.5 0.25 +0.2812 0.5 0.2812 +0.2812 0.5 0.3125 +0.2812 0.5 0.3438 +0.2812 0.5 0.375 +0.2812 0.5 0.4062 +0.2812 0.5 0.4375 +0.2812 0.5 0.4688 +0.2812 0.5 0.5 +0.2812 0.5 0.5312 +0.2812 0.5 0.5625 +0.2812 0.5 0.5938 +0.2812 0.5 0.625 +0.2812 0.5 0.6562 +0.2812 0.5 0.6875 +0.2812 0.5 0.7188 +0.2812 0.5 0.75 +0.2812 0.5 0.7812 +0.2812 0.5 0.8125 +0.2812 0.5 0.8438 +0.2812 0.5 0.875 +0.2812 0.5 0.9062 +0.2812 0.5 0.9375 +0.2812 0.5 0.9688 +0.2812 0.5 1 +0.2812 0.5312 0 +0.2812 0.5312 0.03125 +0.2812 0.5312 0.0625 +0.2812 0.5312 0.09375 +0.2812 0.5312 0.125 +0.2812 0.5312 0.1562 +0.2812 0.5312 0.1875 +0.2812 0.5312 0.2188 +0.2812 0.5312 0.25 +0.2812 0.5312 0.2812 +0.2812 0.5312 0.3125 +0.2812 0.5312 0.3438 +0.2812 0.5312 0.375 +0.2812 0.5312 0.4062 +0.2812 0.5312 0.4375 +0.2812 0.5312 0.4688 +0.2812 0.5312 0.5 +0.2812 0.5312 0.5312 +0.2812 0.5312 0.5625 +0.2812 0.5312 0.5938 +0.2812 0.5312 0.625 +0.2812 0.5312 0.6562 +0.2812 0.5312 0.6875 +0.2812 0.5312 0.7188 +0.2812 0.5312 0.75 +0.2812 0.5312 0.7812 +0.2812 0.5312 0.8125 +0.2812 0.5312 0.8438 +0.2812 0.5312 0.875 +0.2812 0.5312 0.9062 +0.2812 0.5312 0.9375 +0.2812 0.5312 0.9688 +0.2812 0.5312 1 +0.2812 0.5625 0 +0.2812 0.5625 0.03125 +0.2812 0.5625 0.0625 +0.2812 0.5625 0.09375 +0.2812 0.5625 0.125 +0.2812 0.5625 0.1562 +0.2812 0.5625 0.1875 +0.2812 0.5625 0.2188 +0.2812 0.5625 0.25 +0.2812 0.5625 0.2812 +0.2812 0.5625 0.3125 +0.2812 0.5625 0.3438 +0.2812 0.5625 0.375 +0.2812 0.5625 0.4062 +0.2812 0.5625 0.4375 +0.2812 0.5625 0.4688 +0.2812 0.5625 0.5 +0.2812 0.5625 0.5312 +0.2812 0.5625 0.5625 +0.2812 0.5625 0.5938 +0.2812 0.5625 0.625 +0.2812 0.5625 0.6562 +0.2812 0.5625 0.6875 +0.2812 0.5625 0.7188 +0.2812 0.5625 0.75 +0.2812 0.5625 0.7812 +0.2812 0.5625 0.8125 +0.2812 0.5625 0.8438 +0.2812 0.5625 0.875 +0.2812 0.5625 0.9062 +0.2812 0.5625 0.9375 +0.2812 0.5625 0.9688 +0.2812 0.5625 1 +0.2812 0.5938 0 +0.2812 0.5938 0.03125 +0.2812 0.5938 0.0625 +0.2812 0.5938 0.09375 +0.2812 0.5938 0.125 +0.2812 0.5938 0.1562 +0.2812 0.5938 0.1875 +0.2812 0.5938 0.2188 +0.2812 0.5938 0.25 +0.2812 0.5938 0.2812 +0.2812 0.5938 0.3125 +0.2812 0.5938 0.3438 +0.2812 0.5938 0.375 +0.2812 0.5938 0.4062 +0.2812 0.5938 0.4375 +0.2812 0.5938 0.4688 +0.2812 0.5938 0.5 +0.2812 0.5938 0.5312 +0.2812 0.5938 0.5625 +0.2812 0.5938 0.5938 +0.2812 0.5938 0.625 +0.2812 0.5938 0.6562 +0.2812 0.5938 0.6875 +0.2812 0.5938 0.7188 +0.2812 0.5938 0.75 +0.2812 0.5938 0.7812 +0.2812 0.5938 0.8125 +0.2812 0.5938 0.8438 +0.2812 0.5938 0.875 +0.2812 0.5938 0.9062 +0.2812 0.5938 0.9375 +0.2812 0.5938 0.9688 +0.2812 0.5938 1 +0.2812 0.625 0 +0.2812 0.625 0.03125 +0.2812 0.625 0.0625 +0.2812 0.625 0.09375 +0.2812 0.625 0.125 +0.2812 0.625 0.1562 +0.2812 0.625 0.1875 +0.2812 0.625 0.2188 +0.2812 0.625 0.25 +0.2812 0.625 0.2812 +0.2812 0.625 0.3125 +0.2812 0.625 0.3438 +0.2812 0.625 0.375 +0.2812 0.625 0.4062 +0.2812 0.625 0.4375 +0.2812 0.625 0.4688 +0.2812 0.625 0.5 +0.2812 0.625 0.5312 +0.2812 0.625 0.5625 +0.2812 0.625 0.5938 +0.2812 0.625 0.625 +0.2812 0.625 0.6562 +0.2812 0.625 0.6875 +0.2812 0.625 0.7188 +0.2812 0.625 0.75 +0.2812 0.625 0.7812 +0.2812 0.625 0.8125 +0.2812 0.625 0.8438 +0.2812 0.625 0.875 +0.2812 0.625 0.9062 +0.2812 0.625 0.9375 +0.2812 0.625 0.9688 +0.2812 0.625 1 +0.2812 0.6562 0 +0.2812 0.6562 0.03125 +0.2812 0.6562 0.0625 +0.2812 0.6562 0.09375 +0.2812 0.6562 0.125 +0.2812 0.6562 0.1562 +0.2812 0.6562 0.1875 +0.2812 0.6562 0.2188 +0.2812 0.6562 0.25 +0.2812 0.6562 0.2812 +0.2812 0.6562 0.3125 +0.2812 0.6562 0.3438 +0.2812 0.6562 0.375 +0.2812 0.6562 0.4062 +0.2812 0.6562 0.4375 +0.2812 0.6562 0.4688 +0.2812 0.6562 0.5 +0.2812 0.6562 0.5312 +0.2812 0.6562 0.5625 +0.2812 0.6562 0.5938 +0.2812 0.6562 0.625 +0.2812 0.6562 0.6562 +0.2812 0.6562 0.6875 +0.2812 0.6562 0.7188 +0.2812 0.6562 0.75 +0.2812 0.6562 0.7812 +0.2812 0.6562 0.8125 +0.2812 0.6562 0.8438 +0.2812 0.6562 0.875 +0.2812 0.6562 0.9062 +0.2812 0.6562 0.9375 +0.2812 0.6562 0.9688 +0.2812 0.6562 1 +0.2812 0.6875 0 +0.2812 0.6875 0.03125 +0.2812 0.6875 0.0625 +0.2812 0.6875 0.09375 +0.2812 0.6875 0.125 +0.2812 0.6875 0.1562 +0.2812 0.6875 0.1875 +0.2812 0.6875 0.2188 +0.2812 0.6875 0.25 +0.2812 0.6875 0.2812 +0.2812 0.6875 0.3125 +0.2812 0.6875 0.3438 +0.2812 0.6875 0.375 +0.2812 0.6875 0.4062 +0.2812 0.6875 0.4375 +0.2812 0.6875 0.4688 +0.2812 0.6875 0.5 +0.2812 0.6875 0.5312 +0.2812 0.6875 0.5625 +0.2812 0.6875 0.5938 +0.2812 0.6875 0.625 +0.2812 0.6875 0.6562 +0.2812 0.6875 0.6875 +0.2812 0.6875 0.7188 +0.2812 0.6875 0.75 +0.2812 0.6875 0.7812 +0.2812 0.6875 0.8125 +0.2812 0.6875 0.8438 +0.2812 0.6875 0.875 +0.2812 0.6875 0.9062 +0.2812 0.6875 0.9375 +0.2812 0.6875 0.9688 +0.2812 0.6875 1 +0.2812 0.7188 0 +0.2812 0.7188 0.03125 +0.2812 0.7188 0.0625 +0.2812 0.7188 0.09375 +0.2812 0.7188 0.125 +0.2812 0.7188 0.1562 +0.2812 0.7188 0.1875 +0.2812 0.7188 0.2188 +0.2812 0.7188 0.25 +0.2812 0.7188 0.2812 +0.2812 0.7188 0.3125 +0.2812 0.7188 0.3438 +0.2812 0.7188 0.375 +0.2812 0.7188 0.4062 +0.2812 0.7188 0.4375 +0.2812 0.7188 0.4688 +0.2812 0.7188 0.5 +0.2812 0.7188 0.5312 +0.2812 0.7188 0.5625 +0.2812 0.7188 0.5938 +0.2812 0.7188 0.625 +0.2812 0.7188 0.6562 +0.2812 0.7188 0.6875 +0.2812 0.7188 0.7188 +0.2812 0.7188 0.75 +0.2812 0.7188 0.7812 +0.2812 0.7188 0.8125 +0.2812 0.7188 0.8438 +0.2812 0.7188 0.875 +0.2812 0.7188 0.9062 +0.2812 0.7188 0.9375 +0.2812 0.7188 0.9688 +0.2812 0.7188 1 +0.2812 0.75 0 +0.2812 0.75 0.03125 +0.2812 0.75 0.0625 +0.2812 0.75 0.09375 +0.2812 0.75 0.125 +0.2812 0.75 0.1562 +0.2812 0.75 0.1875 +0.2812 0.75 0.2188 +0.2812 0.75 0.25 +0.2812 0.75 0.2812 +0.2812 0.75 0.3125 +0.2812 0.75 0.3438 +0.2812 0.75 0.375 +0.2812 0.75 0.4062 +0.2812 0.75 0.4375 +0.2812 0.75 0.4688 +0.2812 0.75 0.5 +0.2812 0.75 0.5312 +0.2812 0.75 0.5625 +0.2812 0.75 0.5938 +0.2812 0.75 0.625 +0.2812 0.75 0.6562 +0.2812 0.75 0.6875 +0.2812 0.75 0.7188 +0.2812 0.75 0.75 +0.2812 0.75 0.7812 +0.2812 0.75 0.8125 +0.2812 0.75 0.8438 +0.2812 0.75 0.875 +0.2812 0.75 0.9062 +0.2812 0.75 0.9375 +0.2812 0.75 0.9688 +0.2812 0.75 1 +0.2812 0.7812 0 +0.2812 0.7812 0.03125 +0.2812 0.7812 0.0625 +0.2812 0.7812 0.09375 +0.2812 0.7812 0.125 +0.2812 0.7812 0.1562 +0.2812 0.7812 0.1875 +0.2812 0.7812 0.2188 +0.2812 0.7812 0.25 +0.2812 0.7812 0.2812 +0.2812 0.7812 0.3125 +0.2812 0.7812 0.3438 +0.2812 0.7812 0.375 +0.2812 0.7812 0.4062 +0.2812 0.7812 0.4375 +0.2812 0.7812 0.4688 +0.2812 0.7812 0.5 +0.2812 0.7812 0.5312 +0.2812 0.7812 0.5625 +0.2812 0.7812 0.5938 +0.2812 0.7812 0.625 +0.2812 0.7812 0.6562 +0.2812 0.7812 0.6875 +0.2812 0.7812 0.7188 +0.2812 0.7812 0.75 +0.2812 0.7812 0.7812 +0.2812 0.7812 0.8125 +0.2812 0.7812 0.8438 +0.2812 0.7812 0.875 +0.2812 0.7812 0.9062 +0.2812 0.7812 0.9375 +0.2812 0.7812 0.9688 +0.2812 0.7812 1 +0.2812 0.8125 0 +0.2812 0.8125 0.03125 +0.2812 0.8125 0.0625 +0.2812 0.8125 0.09375 +0.2812 0.8125 0.125 +0.2812 0.8125 0.1562 +0.2812 0.8125 0.1875 +0.2812 0.8125 0.2188 +0.2812 0.8125 0.25 +0.2812 0.8125 0.2812 +0.2812 0.8125 0.3125 +0.2812 0.8125 0.3438 +0.2812 0.8125 0.375 +0.2812 0.8125 0.4062 +0.2812 0.8125 0.4375 +0.2812 0.8125 0.4688 +0.2812 0.8125 0.5 +0.2812 0.8125 0.5312 +0.2812 0.8125 0.5625 +0.2812 0.8125 0.5938 +0.2812 0.8125 0.625 +0.2812 0.8125 0.6562 +0.2812 0.8125 0.6875 +0.2812 0.8125 0.7188 +0.2812 0.8125 0.75 +0.2812 0.8125 0.7812 +0.2812 0.8125 0.8125 +0.2812 0.8125 0.8438 +0.2812 0.8125 0.875 +0.2812 0.8125 0.9062 +0.2812 0.8125 0.9375 +0.2812 0.8125 0.9688 +0.2812 0.8125 1 +0.2812 0.8438 0 +0.2812 0.8438 0.03125 +0.2812 0.8438 0.0625 +0.2812 0.8438 0.09375 +0.2812 0.8438 0.125 +0.2812 0.8438 0.1562 +0.2812 0.8438 0.1875 +0.2812 0.8438 0.2188 +0.2812 0.8438 0.25 +0.2812 0.8438 0.2812 +0.2812 0.8438 0.3125 +0.2812 0.8438 0.3438 +0.2812 0.8438 0.375 +0.2812 0.8438 0.4062 +0.2812 0.8438 0.4375 +0.2812 0.8438 0.4688 +0.2812 0.8438 0.5 +0.2812 0.8438 0.5312 +0.2812 0.8438 0.5625 +0.2812 0.8438 0.5938 +0.2812 0.8438 0.625 +0.2812 0.8438 0.6562 +0.2812 0.8438 0.6875 +0.2812 0.8438 0.7188 +0.2812 0.8438 0.75 +0.2812 0.8438 0.7812 +0.2812 0.8438 0.8125 +0.2812 0.8438 0.8438 +0.2812 0.8438 0.875 +0.2812 0.8438 0.9062 +0.2812 0.8438 0.9375 +0.2812 0.8438 0.9688 +0.2812 0.8438 1 +0.2812 0.875 0 +0.2812 0.875 0.03125 +0.2812 0.875 0.0625 +0.2812 0.875 0.09375 +0.2812 0.875 0.125 +0.2812 0.875 0.1562 +0.2812 0.875 0.1875 +0.2812 0.875 0.2188 +0.2812 0.875 0.25 +0.2812 0.875 0.2812 +0.2812 0.875 0.3125 +0.2812 0.875 0.3438 +0.2812 0.875 0.375 +0.2812 0.875 0.4062 +0.2812 0.875 0.4375 +0.2812 0.875 0.4688 +0.2812 0.875 0.5 +0.2812 0.875 0.5312 +0.2812 0.875 0.5625 +0.2812 0.875 0.5938 +0.2812 0.875 0.625 +0.2812 0.875 0.6562 +0.2812 0.875 0.6875 +0.2812 0.875 0.7188 +0.2812 0.875 0.75 +0.2812 0.875 0.7812 +0.2812 0.875 0.8125 +0.2812 0.875 0.8438 +0.2812 0.875 0.875 +0.2812 0.875 0.9062 +0.2812 0.875 0.9375 +0.2812 0.875 0.9688 +0.2812 0.875 1 +0.2812 0.9062 0 +0.2812 0.9062 0.03125 +0.2812 0.9062 0.0625 +0.2812 0.9062 0.09375 +0.2812 0.9062 0.125 +0.2812 0.9062 0.1562 +0.2812 0.9062 0.1875 +0.2812 0.9062 0.2188 +0.2812 0.9062 0.25 +0.2812 0.9062 0.2812 +0.2812 0.9062 0.3125 +0.2812 0.9062 0.3438 +0.2812 0.9062 0.375 +0.2812 0.9062 0.4062 +0.2812 0.9062 0.4375 +0.2812 0.9062 0.4688 +0.2812 0.9062 0.5 +0.2812 0.9062 0.5312 +0.2812 0.9062 0.5625 +0.2812 0.9062 0.5938 +0.2812 0.9062 0.625 +0.2812 0.9062 0.6562 +0.2812 0.9062 0.6875 +0.2812 0.9062 0.7188 +0.2812 0.9062 0.75 +0.2812 0.9062 0.7812 +0.2812 0.9062 0.8125 +0.2812 0.9062 0.8438 +0.2812 0.9062 0.875 +0.2812 0.9062 0.9062 +0.2812 0.9062 0.9375 +0.2812 0.9062 0.9688 +0.2812 0.9062 1 +0.2812 0.9375 0 +0.2812 0.9375 0.03125 +0.2812 0.9375 0.0625 +0.2812 0.9375 0.09375 +0.2812 0.9375 0.125 +0.2812 0.9375 0.1562 +0.2812 0.9375 0.1875 +0.2812 0.9375 0.2188 +0.2812 0.9375 0.25 +0.2812 0.9375 0.2812 +0.2812 0.9375 0.3125 +0.2812 0.9375 0.3438 +0.2812 0.9375 0.375 +0.2812 0.9375 0.4062 +0.2812 0.9375 0.4375 +0.2812 0.9375 0.4688 +0.2812 0.9375 0.5 +0.2812 0.9375 0.5312 +0.2812 0.9375 0.5625 +0.2812 0.9375 0.5938 +0.2812 0.9375 0.625 +0.2812 0.9375 0.6562 +0.2812 0.9375 0.6875 +0.2812 0.9375 0.7188 +0.2812 0.9375 0.75 +0.2812 0.9375 0.7812 +0.2812 0.9375 0.8125 +0.2812 0.9375 0.8438 +0.2812 0.9375 0.875 +0.2812 0.9375 0.9062 +0.2812 0.9375 0.9375 +0.2812 0.9375 0.9688 +0.2812 0.9375 1 +0.2812 0.9688 0 +0.2812 0.9688 0.03125 +0.2812 0.9688 0.0625 +0.2812 0.9688 0.09375 +0.2812 0.9688 0.125 +0.2812 0.9688 0.1562 +0.2812 0.9688 0.1875 +0.2812 0.9688 0.2188 +0.2812 0.9688 0.25 +0.2812 0.9688 0.2812 +0.2812 0.9688 0.3125 +0.2812 0.9688 0.3438 +0.2812 0.9688 0.375 +0.2812 0.9688 0.4062 +0.2812 0.9688 0.4375 +0.2812 0.9688 0.4688 +0.2812 0.9688 0.5 +0.2812 0.9688 0.5312 +0.2812 0.9688 0.5625 +0.2812 0.9688 0.5938 +0.2812 0.9688 0.625 +0.2812 0.9688 0.6562 +0.2812 0.9688 0.6875 +0.2812 0.9688 0.7188 +0.2812 0.9688 0.75 +0.2812 0.9688 0.7812 +0.2812 0.9688 0.8125 +0.2812 0.9688 0.8438 +0.2812 0.9688 0.875 +0.2812 0.9688 0.9062 +0.2812 0.9688 0.9375 +0.2812 0.9688 0.9688 +0.2812 0.9688 1 +0.2812 1 0 +0.2812 1 0.03125 +0.2812 1 0.0625 +0.2812 1 0.09375 +0.2812 1 0.125 +0.2812 1 0.1562 +0.2812 1 0.1875 +0.2812 1 0.2188 +0.2812 1 0.25 +0.2812 1 0.2812 +0.2812 1 0.3125 +0.2812 1 0.3438 +0.2812 1 0.375 +0.2812 1 0.4062 +0.2812 1 0.4375 +0.2812 1 0.4688 +0.2812 1 0.5 +0.2812 1 0.5312 +0.2812 1 0.5625 +0.2812 1 0.5938 +0.2812 1 0.625 +0.2812 1 0.6562 +0.2812 1 0.6875 +0.2812 1 0.7188 +0.2812 1 0.75 +0.2812 1 0.7812 +0.2812 1 0.8125 +0.2812 1 0.8438 +0.2812 1 0.875 +0.2812 1 0.9062 +0.2812 1 0.9375 +0.2812 1 0.9688 +0.2812 1 1 +0.3125 0 0 +0.3125 0 0.03125 +0.3125 0 0.0625 +0.3125 0 0.09375 +0.3125 0 0.125 +0.3125 0 0.1562 +0.3125 0 0.1875 +0.3125 0 0.2188 +0.3125 0 0.25 +0.3125 0 0.2812 +0.3125 0 0.3125 +0.3125 0 0.3438 +0.3125 0 0.375 +0.3125 0 0.4062 +0.3125 0 0.4375 +0.3125 0 0.4688 +0.3125 0 0.5 +0.3125 0 0.5312 +0.3125 0 0.5625 +0.3125 0 0.5938 +0.3125 0 0.625 +0.3125 0 0.6562 +0.3125 0 0.6875 +0.3125 0 0.7188 +0.3125 0 0.75 +0.3125 0 0.7812 +0.3125 0 0.8125 +0.3125 0 0.8438 +0.3125 0 0.875 +0.3125 0 0.9062 +0.3125 0 0.9375 +0.3125 0 0.9688 +0.3125 0 1 +0.3125 0.03125 0 +0.3125 0.03125 0.03125 +0.3125 0.03125 0.0625 +0.3125 0.03125 0.09375 +0.3125 0.03125 0.125 +0.3125 0.03125 0.1562 +0.3125 0.03125 0.1875 +0.3125 0.03125 0.2188 +0.3125 0.03125 0.25 +0.3125 0.03125 0.2812 +0.3125 0.03125 0.3125 +0.3125 0.03125 0.3438 +0.3125 0.03125 0.375 +0.3125 0.03125 0.4062 +0.3125 0.03125 0.4375 +0.3125 0.03125 0.4688 +0.3125 0.03125 0.5 +0.3125 0.03125 0.5312 +0.3125 0.03125 0.5625 +0.3125 0.03125 0.5938 +0.3125 0.03125 0.625 +0.3125 0.03125 0.6562 +0.3125 0.03125 0.6875 +0.3125 0.03125 0.7188 +0.3125 0.03125 0.75 +0.3125 0.03125 0.7812 +0.3125 0.03125 0.8125 +0.3125 0.03125 0.8438 +0.3125 0.03125 0.875 +0.3125 0.03125 0.9062 +0.3125 0.03125 0.9375 +0.3125 0.03125 0.9688 +0.3125 0.03125 1 +0.3125 0.0625 0 +0.3125 0.0625 0.03125 +0.3125 0.0625 0.0625 +0.3125 0.0625 0.09375 +0.3125 0.0625 0.125 +0.3125 0.0625 0.1562 +0.3125 0.0625 0.1875 +0.3125 0.0625 0.2188 +0.3125 0.0625 0.25 +0.3125 0.0625 0.2812 +0.3125 0.0625 0.3125 +0.3125 0.0625 0.3438 +0.3125 0.0625 0.375 +0.3125 0.0625 0.4062 +0.3125 0.0625 0.4375 +0.3125 0.0625 0.4688 +0.3125 0.0625 0.5 +0.3125 0.0625 0.5312 +0.3125 0.0625 0.5625 +0.3125 0.0625 0.5938 +0.3125 0.0625 0.625 +0.3125 0.0625 0.6562 +0.3125 0.0625 0.6875 +0.3125 0.0625 0.7188 +0.3125 0.0625 0.75 +0.3125 0.0625 0.7812 +0.3125 0.0625 0.8125 +0.3125 0.0625 0.8438 +0.3125 0.0625 0.875 +0.3125 0.0625 0.9062 +0.3125 0.0625 0.9375 +0.3125 0.0625 0.9688 +0.3125 0.0625 1 +0.3125 0.09375 0 +0.3125 0.09375 0.03125 +0.3125 0.09375 0.0625 +0.3125 0.09375 0.09375 +0.3125 0.09375 0.125 +0.3125 0.09375 0.1562 +0.3125 0.09375 0.1875 +0.3125 0.09375 0.2188 +0.3125 0.09375 0.25 +0.3125 0.09375 0.2812 +0.3125 0.09375 0.3125 +0.3125 0.09375 0.3438 +0.3125 0.09375 0.375 +0.3125 0.09375 0.4062 +0.3125 0.09375 0.4375 +0.3125 0.09375 0.4688 +0.3125 0.09375 0.5 +0.3125 0.09375 0.5312 +0.3125 0.09375 0.5625 +0.3125 0.09375 0.5938 +0.3125 0.09375 0.625 +0.3125 0.09375 0.6562 +0.3125 0.09375 0.6875 +0.3125 0.09375 0.7188 +0.3125 0.09375 0.75 +0.3125 0.09375 0.7812 +0.3125 0.09375 0.8125 +0.3125 0.09375 0.8438 +0.3125 0.09375 0.875 +0.3125 0.09375 0.9062 +0.3125 0.09375 0.9375 +0.3125 0.09375 0.9688 +0.3125 0.09375 1 +0.3125 0.125 0 +0.3125 0.125 0.03125 +0.3125 0.125 0.0625 +0.3125 0.125 0.09375 +0.3125 0.125 0.125 +0.3125 0.125 0.1562 +0.3125 0.125 0.1875 +0.3125 0.125 0.2188 +0.3125 0.125 0.25 +0.3125 0.125 0.2812 +0.3125 0.125 0.3125 +0.3125 0.125 0.3438 +0.3125 0.125 0.375 +0.3125 0.125 0.4062 +0.3125 0.125 0.4375 +0.3125 0.125 0.4688 +0.3125 0.125 0.5 +0.3125 0.125 0.5312 +0.3125 0.125 0.5625 +0.3125 0.125 0.5938 +0.3125 0.125 0.625 +0.3125 0.125 0.6562 +0.3125 0.125 0.6875 +0.3125 0.125 0.7188 +0.3125 0.125 0.75 +0.3125 0.125 0.7812 +0.3125 0.125 0.8125 +0.3125 0.125 0.8438 +0.3125 0.125 0.875 +0.3125 0.125 0.9062 +0.3125 0.125 0.9375 +0.3125 0.125 0.9688 +0.3125 0.125 1 +0.3125 0.1562 0 +0.3125 0.1562 0.03125 +0.3125 0.1562 0.0625 +0.3125 0.1562 0.09375 +0.3125 0.1562 0.125 +0.3125 0.1562 0.1562 +0.3125 0.1562 0.1875 +0.3125 0.1562 0.2188 +0.3125 0.1562 0.25 +0.3125 0.1562 0.2812 +0.3125 0.1562 0.3125 +0.3125 0.1562 0.3438 +0.3125 0.1562 0.375 +0.3125 0.1562 0.4062 +0.3125 0.1562 0.4375 +0.3125 0.1562 0.4688 +0.3125 0.1562 0.5 +0.3125 0.1562 0.5312 +0.3125 0.1562 0.5625 +0.3125 0.1562 0.5938 +0.3125 0.1562 0.625 +0.3125 0.1562 0.6562 +0.3125 0.1562 0.6875 +0.3125 0.1562 0.7188 +0.3125 0.1562 0.75 +0.3125 0.1562 0.7812 +0.3125 0.1562 0.8125 +0.3125 0.1562 0.8438 +0.3125 0.1562 0.875 +0.3125 0.1562 0.9062 +0.3125 0.1562 0.9375 +0.3125 0.1562 0.9688 +0.3125 0.1562 1 +0.3125 0.1875 0 +0.3125 0.1875 0.03125 +0.3125 0.1875 0.0625 +0.3125 0.1875 0.09375 +0.3125 0.1875 0.125 +0.3125 0.1875 0.1562 +0.3125 0.1875 0.1875 +0.3125 0.1875 0.2188 +0.3125 0.1875 0.25 +0.3125 0.1875 0.2812 +0.3125 0.1875 0.3125 +0.3125 0.1875 0.3438 +0.3125 0.1875 0.375 +0.3125 0.1875 0.4062 +0.3125 0.1875 0.4375 +0.3125 0.1875 0.4688 +0.3125 0.1875 0.5 +0.3125 0.1875 0.5312 +0.3125 0.1875 0.5625 +0.3125 0.1875 0.5938 +0.3125 0.1875 0.625 +0.3125 0.1875 0.6562 +0.3125 0.1875 0.6875 +0.3125 0.1875 0.7188 +0.3125 0.1875 0.75 +0.3125 0.1875 0.7812 +0.3125 0.1875 0.8125 +0.3125 0.1875 0.8438 +0.3125 0.1875 0.875 +0.3125 0.1875 0.9062 +0.3125 0.1875 0.9375 +0.3125 0.1875 0.9688 +0.3125 0.1875 1 +0.3125 0.2188 0 +0.3125 0.2188 0.03125 +0.3125 0.2188 0.0625 +0.3125 0.2188 0.09375 +0.3125 0.2188 0.125 +0.3125 0.2188 0.1562 +0.3125 0.2188 0.1875 +0.3125 0.2188 0.2188 +0.3125 0.2188 0.25 +0.3125 0.2188 0.2812 +0.3125 0.2188 0.3125 +0.3125 0.2188 0.3438 +0.3125 0.2188 0.375 +0.3125 0.2188 0.4062 +0.3125 0.2188 0.4375 +0.3125 0.2188 0.4688 +0.3125 0.2188 0.5 +0.3125 0.2188 0.5312 +0.3125 0.2188 0.5625 +0.3125 0.2188 0.5938 +0.3125 0.2188 0.625 +0.3125 0.2188 0.6562 +0.3125 0.2188 0.6875 +0.3125 0.2188 0.7188 +0.3125 0.2188 0.75 +0.3125 0.2188 0.7812 +0.3125 0.2188 0.8125 +0.3125 0.2188 0.8438 +0.3125 0.2188 0.875 +0.3125 0.2188 0.9062 +0.3125 0.2188 0.9375 +0.3125 0.2188 0.9688 +0.3125 0.2188 1 +0.3125 0.25 0 +0.3125 0.25 0.03125 +0.3125 0.25 0.0625 +0.3125 0.25 0.09375 +0.3125 0.25 0.125 +0.3125 0.25 0.1562 +0.3125 0.25 0.1875 +0.3125 0.25 0.2188 +0.3125 0.25 0.25 +0.3125 0.25 0.2812 +0.3125 0.25 0.3125 +0.3125 0.25 0.3438 +0.3125 0.25 0.375 +0.3125 0.25 0.4062 +0.3125 0.25 0.4375 +0.3125 0.25 0.4688 +0.3125 0.25 0.5 +0.3125 0.25 0.5312 +0.3125 0.25 0.5625 +0.3125 0.25 0.5938 +0.3125 0.25 0.625 +0.3125 0.25 0.6562 +0.3125 0.25 0.6875 +0.3125 0.25 0.7188 +0.3125 0.25 0.75 +0.3125 0.25 0.7812 +0.3125 0.25 0.8125 +0.3125 0.25 0.8438 +0.3125 0.25 0.875 +0.3125 0.25 0.9062 +0.3125 0.25 0.9375 +0.3125 0.25 0.9688 +0.3125 0.25 1 +0.3125 0.2812 0 +0.3125 0.2812 0.03125 +0.3125 0.2812 0.0625 +0.3125 0.2812 0.09375 +0.3125 0.2812 0.125 +0.3125 0.2812 0.1562 +0.3125 0.2812 0.1875 +0.3125 0.2812 0.2188 +0.3125 0.2812 0.25 +0.3125 0.2812 0.2812 +0.3125 0.2812 0.3125 +0.3125 0.2812 0.3438 +0.3125 0.2812 0.375 +0.3125 0.2812 0.4062 +0.3125 0.2812 0.4375 +0.3125 0.2812 0.4688 +0.3125 0.2812 0.5 +0.3125 0.2812 0.5312 +0.3125 0.2812 0.5625 +0.3125 0.2812 0.5938 +0.3125 0.2812 0.625 +0.3125 0.2812 0.6562 +0.3125 0.2812 0.6875 +0.3125 0.2812 0.7188 +0.3125 0.2812 0.75 +0.3125 0.2812 0.7812 +0.3125 0.2812 0.8125 +0.3125 0.2812 0.8438 +0.3125 0.2812 0.875 +0.3125 0.2812 0.9062 +0.3125 0.2812 0.9375 +0.3125 0.2812 0.9688 +0.3125 0.2812 1 +0.3125 0.3125 0 +0.3125 0.3125 0.03125 +0.3125 0.3125 0.0625 +0.3125 0.3125 0.09375 +0.3125 0.3125 0.125 +0.3125 0.3125 0.1562 +0.3125 0.3125 0.1875 +0.3125 0.3125 0.2188 +0.3125 0.3125 0.25 +0.3125 0.3125 0.2812 +0.3125 0.3125 0.3125 +0.3125 0.3125 0.3438 +0.3125 0.3125 0.375 +0.3125 0.3125 0.4062 +0.3125 0.3125 0.4375 +0.3125 0.3125 0.4688 +0.3125 0.3125 0.5 +0.3125 0.3125 0.5312 +0.3125 0.3125 0.5625 +0.3125 0.3125 0.5938 +0.3125 0.3125 0.625 +0.3125 0.3125 0.6562 +0.3125 0.3125 0.6875 +0.3125 0.3125 0.7188 +0.3125 0.3125 0.75 +0.3125 0.3125 0.7812 +0.3125 0.3125 0.8125 +0.3125 0.3125 0.8438 +0.3125 0.3125 0.875 +0.3125 0.3125 0.9062 +0.3125 0.3125 0.9375 +0.3125 0.3125 0.9688 +0.3125 0.3125 1 +0.3125 0.3438 0 +0.3125 0.3438 0.03125 +0.3125 0.3438 0.0625 +0.3125 0.3438 0.09375 +0.3125 0.3438 0.125 +0.3125 0.3438 0.1562 +0.3125 0.3438 0.1875 +0.3125 0.3438 0.2188 +0.3125 0.3438 0.25 +0.3125 0.3438 0.2812 +0.3125 0.3438 0.3125 +0.3125 0.3438 0.3438 +0.3125 0.3438 0.375 +0.3125 0.3438 0.4062 +0.3125 0.3438 0.4375 +0.3125 0.3438 0.4688 +0.3125 0.3438 0.5 +0.3125 0.3438 0.5312 +0.3125 0.3438 0.5625 +0.3125 0.3438 0.5938 +0.3125 0.3438 0.625 +0.3125 0.3438 0.6562 +0.3125 0.3438 0.6875 +0.3125 0.3438 0.7188 +0.3125 0.3438 0.75 +0.3125 0.3438 0.7812 +0.3125 0.3438 0.8125 +0.3125 0.3438 0.8438 +0.3125 0.3438 0.875 +0.3125 0.3438 0.9062 +0.3125 0.3438 0.9375 +0.3125 0.3438 0.9688 +0.3125 0.3438 1 +0.3125 0.375 0 +0.3125 0.375 0.03125 +0.3125 0.375 0.0625 +0.3125 0.375 0.09375 +0.3125 0.375 0.125 +0.3125 0.375 0.1562 +0.3125 0.375 0.1875 +0.3125 0.375 0.2188 +0.3125 0.375 0.25 +0.3125 0.375 0.2812 +0.3125 0.375 0.3125 +0.3125 0.375 0.3438 +0.3125 0.375 0.375 +0.3125 0.375 0.4062 +0.3125 0.375 0.4375 +0.3125 0.375 0.4688 +0.3125 0.375 0.5 +0.3125 0.375 0.5312 +0.3125 0.375 0.5625 +0.3125 0.375 0.5938 +0.3125 0.375 0.625 +0.3125 0.375 0.6562 +0.3125 0.375 0.6875 +0.3125 0.375 0.7188 +0.3125 0.375 0.75 +0.3125 0.375 0.7812 +0.3125 0.375 0.8125 +0.3125 0.375 0.8438 +0.3125 0.375 0.875 +0.3125 0.375 0.9062 +0.3125 0.375 0.9375 +0.3125 0.375 0.9688 +0.3125 0.375 1 +0.3125 0.4062 0 +0.3125 0.4062 0.03125 +0.3125 0.4062 0.0625 +0.3125 0.4062 0.09375 +0.3125 0.4062 0.125 +0.3125 0.4062 0.1562 +0.3125 0.4062 0.1875 +0.3125 0.4062 0.2188 +0.3125 0.4062 0.25 +0.3125 0.4062 0.2812 +0.3125 0.4062 0.3125 +0.3125 0.4062 0.3438 +0.3125 0.4062 0.375 +0.3125 0.4062 0.4062 +0.3125 0.4062 0.4375 +0.3125 0.4062 0.4688 +0.3125 0.4062 0.5 +0.3125 0.4062 0.5312 +0.3125 0.4062 0.5625 +0.3125 0.4062 0.5938 +0.3125 0.4062 0.625 +0.3125 0.4062 0.6562 +0.3125 0.4062 0.6875 +0.3125 0.4062 0.7188 +0.3125 0.4062 0.75 +0.3125 0.4062 0.7812 +0.3125 0.4062 0.8125 +0.3125 0.4062 0.8438 +0.3125 0.4062 0.875 +0.3125 0.4062 0.9062 +0.3125 0.4062 0.9375 +0.3125 0.4062 0.9688 +0.3125 0.4062 1 +0.3125 0.4375 0 +0.3125 0.4375 0.03125 +0.3125 0.4375 0.0625 +0.3125 0.4375 0.09375 +0.3125 0.4375 0.125 +0.3125 0.4375 0.1562 +0.3125 0.4375 0.1875 +0.3125 0.4375 0.2188 +0.3125 0.4375 0.25 +0.3125 0.4375 0.2812 +0.3125 0.4375 0.3125 +0.3125 0.4375 0.3438 +0.3125 0.4375 0.375 +0.3125 0.4375 0.4062 +0.3125 0.4375 0.4375 +0.3125 0.4375 0.4688 +0.3125 0.4375 0.5 +0.3125 0.4375 0.5312 +0.3125 0.4375 0.5625 +0.3125 0.4375 0.5938 +0.3125 0.4375 0.625 +0.3125 0.4375 0.6562 +0.3125 0.4375 0.6875 +0.3125 0.4375 0.7188 +0.3125 0.4375 0.75 +0.3125 0.4375 0.7812 +0.3125 0.4375 0.8125 +0.3125 0.4375 0.8438 +0.3125 0.4375 0.875 +0.3125 0.4375 0.9062 +0.3125 0.4375 0.9375 +0.3125 0.4375 0.9688 +0.3125 0.4375 1 +0.3125 0.4688 0 +0.3125 0.4688 0.03125 +0.3125 0.4688 0.0625 +0.3125 0.4688 0.09375 +0.3125 0.4688 0.125 +0.3125 0.4688 0.1562 +0.3125 0.4688 0.1875 +0.3125 0.4688 0.2188 +0.3125 0.4688 0.25 +0.3125 0.4688 0.2812 +0.3125 0.4688 0.3125 +0.3125 0.4688 0.3438 +0.3125 0.4688 0.375 +0.3125 0.4688 0.4062 +0.3125 0.4688 0.4375 +0.3125 0.4688 0.4688 +0.3125 0.4688 0.5 +0.3125 0.4688 0.5312 +0.3125 0.4688 0.5625 +0.3125 0.4688 0.5938 +0.3125 0.4688 0.625 +0.3125 0.4688 0.6562 +0.3125 0.4688 0.6875 +0.3125 0.4688 0.7188 +0.3125 0.4688 0.75 +0.3125 0.4688 0.7812 +0.3125 0.4688 0.8125 +0.3125 0.4688 0.8438 +0.3125 0.4688 0.875 +0.3125 0.4688 0.9062 +0.3125 0.4688 0.9375 +0.3125 0.4688 0.9688 +0.3125 0.4688 1 +0.3125 0.5 0 +0.3125 0.5 0.03125 +0.3125 0.5 0.0625 +0.3125 0.5 0.09375 +0.3125 0.5 0.125 +0.3125 0.5 0.1562 +0.3125 0.5 0.1875 +0.3125 0.5 0.2188 +0.3125 0.5 0.25 +0.3125 0.5 0.2812 +0.3125 0.5 0.3125 +0.3125 0.5 0.3438 +0.3125 0.5 0.375 +0.3125 0.5 0.4062 +0.3125 0.5 0.4375 +0.3125 0.5 0.4688 +0.3125 0.5 0.5 +0.3125 0.5 0.5312 +0.3125 0.5 0.5625 +0.3125 0.5 0.5938 +0.3125 0.5 0.625 +0.3125 0.5 0.6562 +0.3125 0.5 0.6875 +0.3125 0.5 0.7188 +0.3125 0.5 0.75 +0.3125 0.5 0.7812 +0.3125 0.5 0.8125 +0.3125 0.5 0.8438 +0.3125 0.5 0.875 +0.3125 0.5 0.9062 +0.3125 0.5 0.9375 +0.3125 0.5 0.9688 +0.3125 0.5 1 +0.3125 0.5312 0 +0.3125 0.5312 0.03125 +0.3125 0.5312 0.0625 +0.3125 0.5312 0.09375 +0.3125 0.5312 0.125 +0.3125 0.5312 0.1562 +0.3125 0.5312 0.1875 +0.3125 0.5312 0.2188 +0.3125 0.5312 0.25 +0.3125 0.5312 0.2812 +0.3125 0.5312 0.3125 +0.3125 0.5312 0.3438 +0.3125 0.5312 0.375 +0.3125 0.5312 0.4062 +0.3125 0.5312 0.4375 +0.3125 0.5312 0.4688 +0.3125 0.5312 0.5 +0.3125 0.5312 0.5312 +0.3125 0.5312 0.5625 +0.3125 0.5312 0.5938 +0.3125 0.5312 0.625 +0.3125 0.5312 0.6562 +0.3125 0.5312 0.6875 +0.3125 0.5312 0.7188 +0.3125 0.5312 0.75 +0.3125 0.5312 0.7812 +0.3125 0.5312 0.8125 +0.3125 0.5312 0.8438 +0.3125 0.5312 0.875 +0.3125 0.5312 0.9062 +0.3125 0.5312 0.9375 +0.3125 0.5312 0.9688 +0.3125 0.5312 1 +0.3125 0.5625 0 +0.3125 0.5625 0.03125 +0.3125 0.5625 0.0625 +0.3125 0.5625 0.09375 +0.3125 0.5625 0.125 +0.3125 0.5625 0.1562 +0.3125 0.5625 0.1875 +0.3125 0.5625 0.2188 +0.3125 0.5625 0.25 +0.3125 0.5625 0.2812 +0.3125 0.5625 0.3125 +0.3125 0.5625 0.3438 +0.3125 0.5625 0.375 +0.3125 0.5625 0.4062 +0.3125 0.5625 0.4375 +0.3125 0.5625 0.4688 +0.3125 0.5625 0.5 +0.3125 0.5625 0.5312 +0.3125 0.5625 0.5625 +0.3125 0.5625 0.5938 +0.3125 0.5625 0.625 +0.3125 0.5625 0.6562 +0.3125 0.5625 0.6875 +0.3125 0.5625 0.7188 +0.3125 0.5625 0.75 +0.3125 0.5625 0.7812 +0.3125 0.5625 0.8125 +0.3125 0.5625 0.8438 +0.3125 0.5625 0.875 +0.3125 0.5625 0.9062 +0.3125 0.5625 0.9375 +0.3125 0.5625 0.9688 +0.3125 0.5625 1 +0.3125 0.5938 0 +0.3125 0.5938 0.03125 +0.3125 0.5938 0.0625 +0.3125 0.5938 0.09375 +0.3125 0.5938 0.125 +0.3125 0.5938 0.1562 +0.3125 0.5938 0.1875 +0.3125 0.5938 0.2188 +0.3125 0.5938 0.25 +0.3125 0.5938 0.2812 +0.3125 0.5938 0.3125 +0.3125 0.5938 0.3438 +0.3125 0.5938 0.375 +0.3125 0.5938 0.4062 +0.3125 0.5938 0.4375 +0.3125 0.5938 0.4688 +0.3125 0.5938 0.5 +0.3125 0.5938 0.5312 +0.3125 0.5938 0.5625 +0.3125 0.5938 0.5938 +0.3125 0.5938 0.625 +0.3125 0.5938 0.6562 +0.3125 0.5938 0.6875 +0.3125 0.5938 0.7188 +0.3125 0.5938 0.75 +0.3125 0.5938 0.7812 +0.3125 0.5938 0.8125 +0.3125 0.5938 0.8438 +0.3125 0.5938 0.875 +0.3125 0.5938 0.9062 +0.3125 0.5938 0.9375 +0.3125 0.5938 0.9688 +0.3125 0.5938 1 +0.3125 0.625 0 +0.3125 0.625 0.03125 +0.3125 0.625 0.0625 +0.3125 0.625 0.09375 +0.3125 0.625 0.125 +0.3125 0.625 0.1562 +0.3125 0.625 0.1875 +0.3125 0.625 0.2188 +0.3125 0.625 0.25 +0.3125 0.625 0.2812 +0.3125 0.625 0.3125 +0.3125 0.625 0.3438 +0.3125 0.625 0.375 +0.3125 0.625 0.4062 +0.3125 0.625 0.4375 +0.3125 0.625 0.4688 +0.3125 0.625 0.5 +0.3125 0.625 0.5312 +0.3125 0.625 0.5625 +0.3125 0.625 0.5938 +0.3125 0.625 0.625 +0.3125 0.625 0.6562 +0.3125 0.625 0.6875 +0.3125 0.625 0.7188 +0.3125 0.625 0.75 +0.3125 0.625 0.7812 +0.3125 0.625 0.8125 +0.3125 0.625 0.8438 +0.3125 0.625 0.875 +0.3125 0.625 0.9062 +0.3125 0.625 0.9375 +0.3125 0.625 0.9688 +0.3125 0.625 1 +0.3125 0.6562 0 +0.3125 0.6562 0.03125 +0.3125 0.6562 0.0625 +0.3125 0.6562 0.09375 +0.3125 0.6562 0.125 +0.3125 0.6562 0.1562 +0.3125 0.6562 0.1875 +0.3125 0.6562 0.2188 +0.3125 0.6562 0.25 +0.3125 0.6562 0.2812 +0.3125 0.6562 0.3125 +0.3125 0.6562 0.3438 +0.3125 0.6562 0.375 +0.3125 0.6562 0.4062 +0.3125 0.6562 0.4375 +0.3125 0.6562 0.4688 +0.3125 0.6562 0.5 +0.3125 0.6562 0.5312 +0.3125 0.6562 0.5625 +0.3125 0.6562 0.5938 +0.3125 0.6562 0.625 +0.3125 0.6562 0.6562 +0.3125 0.6562 0.6875 +0.3125 0.6562 0.7188 +0.3125 0.6562 0.75 +0.3125 0.6562 0.7812 +0.3125 0.6562 0.8125 +0.3125 0.6562 0.8438 +0.3125 0.6562 0.875 +0.3125 0.6562 0.9062 +0.3125 0.6562 0.9375 +0.3125 0.6562 0.9688 +0.3125 0.6562 1 +0.3125 0.6875 0 +0.3125 0.6875 0.03125 +0.3125 0.6875 0.0625 +0.3125 0.6875 0.09375 +0.3125 0.6875 0.125 +0.3125 0.6875 0.1562 +0.3125 0.6875 0.1875 +0.3125 0.6875 0.2188 +0.3125 0.6875 0.25 +0.3125 0.6875 0.2812 +0.3125 0.6875 0.3125 +0.3125 0.6875 0.3438 +0.3125 0.6875 0.375 +0.3125 0.6875 0.4062 +0.3125 0.6875 0.4375 +0.3125 0.6875 0.4688 +0.3125 0.6875 0.5 +0.3125 0.6875 0.5312 +0.3125 0.6875 0.5625 +0.3125 0.6875 0.5938 +0.3125 0.6875 0.625 +0.3125 0.6875 0.6562 +0.3125 0.6875 0.6875 +0.3125 0.6875 0.7188 +0.3125 0.6875 0.75 +0.3125 0.6875 0.7812 +0.3125 0.6875 0.8125 +0.3125 0.6875 0.8438 +0.3125 0.6875 0.875 +0.3125 0.6875 0.9062 +0.3125 0.6875 0.9375 +0.3125 0.6875 0.9688 +0.3125 0.6875 1 +0.3125 0.7188 0 +0.3125 0.7188 0.03125 +0.3125 0.7188 0.0625 +0.3125 0.7188 0.09375 +0.3125 0.7188 0.125 +0.3125 0.7188 0.1562 +0.3125 0.7188 0.1875 +0.3125 0.7188 0.2188 +0.3125 0.7188 0.25 +0.3125 0.7188 0.2812 +0.3125 0.7188 0.3125 +0.3125 0.7188 0.3438 +0.3125 0.7188 0.375 +0.3125 0.7188 0.4062 +0.3125 0.7188 0.4375 +0.3125 0.7188 0.4688 +0.3125 0.7188 0.5 +0.3125 0.7188 0.5312 +0.3125 0.7188 0.5625 +0.3125 0.7188 0.5938 +0.3125 0.7188 0.625 +0.3125 0.7188 0.6562 +0.3125 0.7188 0.6875 +0.3125 0.7188 0.7188 +0.3125 0.7188 0.75 +0.3125 0.7188 0.7812 +0.3125 0.7188 0.8125 +0.3125 0.7188 0.8438 +0.3125 0.7188 0.875 +0.3125 0.7188 0.9062 +0.3125 0.7188 0.9375 +0.3125 0.7188 0.9688 +0.3125 0.7188 1 +0.3125 0.75 0 +0.3125 0.75 0.03125 +0.3125 0.75 0.0625 +0.3125 0.75 0.09375 +0.3125 0.75 0.125 +0.3125 0.75 0.1562 +0.3125 0.75 0.1875 +0.3125 0.75 0.2188 +0.3125 0.75 0.25 +0.3125 0.75 0.2812 +0.3125 0.75 0.3125 +0.3125 0.75 0.3438 +0.3125 0.75 0.375 +0.3125 0.75 0.4062 +0.3125 0.75 0.4375 +0.3125 0.75 0.4688 +0.3125 0.75 0.5 +0.3125 0.75 0.5312 +0.3125 0.75 0.5625 +0.3125 0.75 0.5938 +0.3125 0.75 0.625 +0.3125 0.75 0.6562 +0.3125 0.75 0.6875 +0.3125 0.75 0.7188 +0.3125 0.75 0.75 +0.3125 0.75 0.7812 +0.3125 0.75 0.8125 +0.3125 0.75 0.8438 +0.3125 0.75 0.875 +0.3125 0.75 0.9062 +0.3125 0.75 0.9375 +0.3125 0.75 0.9688 +0.3125 0.75 1 +0.3125 0.7812 0 +0.3125 0.7812 0.03125 +0.3125 0.7812 0.0625 +0.3125 0.7812 0.09375 +0.3125 0.7812 0.125 +0.3125 0.7812 0.1562 +0.3125 0.7812 0.1875 +0.3125 0.7812 0.2188 +0.3125 0.7812 0.25 +0.3125 0.7812 0.2812 +0.3125 0.7812 0.3125 +0.3125 0.7812 0.3438 +0.3125 0.7812 0.375 +0.3125 0.7812 0.4062 +0.3125 0.7812 0.4375 +0.3125 0.7812 0.4688 +0.3125 0.7812 0.5 +0.3125 0.7812 0.5312 +0.3125 0.7812 0.5625 +0.3125 0.7812 0.5938 +0.3125 0.7812 0.625 +0.3125 0.7812 0.6562 +0.3125 0.7812 0.6875 +0.3125 0.7812 0.7188 +0.3125 0.7812 0.75 +0.3125 0.7812 0.7812 +0.3125 0.7812 0.8125 +0.3125 0.7812 0.8438 +0.3125 0.7812 0.875 +0.3125 0.7812 0.9062 +0.3125 0.7812 0.9375 +0.3125 0.7812 0.9688 +0.3125 0.7812 1 +0.3125 0.8125 0 +0.3125 0.8125 0.03125 +0.3125 0.8125 0.0625 +0.3125 0.8125 0.09375 +0.3125 0.8125 0.125 +0.3125 0.8125 0.1562 +0.3125 0.8125 0.1875 +0.3125 0.8125 0.2188 +0.3125 0.8125 0.25 +0.3125 0.8125 0.2812 +0.3125 0.8125 0.3125 +0.3125 0.8125 0.3438 +0.3125 0.8125 0.375 +0.3125 0.8125 0.4062 +0.3125 0.8125 0.4375 +0.3125 0.8125 0.4688 +0.3125 0.8125 0.5 +0.3125 0.8125 0.5312 +0.3125 0.8125 0.5625 +0.3125 0.8125 0.5938 +0.3125 0.8125 0.625 +0.3125 0.8125 0.6562 +0.3125 0.8125 0.6875 +0.3125 0.8125 0.7188 +0.3125 0.8125 0.75 +0.3125 0.8125 0.7812 +0.3125 0.8125 0.8125 +0.3125 0.8125 0.8438 +0.3125 0.8125 0.875 +0.3125 0.8125 0.9062 +0.3125 0.8125 0.9375 +0.3125 0.8125 0.9688 +0.3125 0.8125 1 +0.3125 0.8438 0 +0.3125 0.8438 0.03125 +0.3125 0.8438 0.0625 +0.3125 0.8438 0.09375 +0.3125 0.8438 0.125 +0.3125 0.8438 0.1562 +0.3125 0.8438 0.1875 +0.3125 0.8438 0.2188 +0.3125 0.8438 0.25 +0.3125 0.8438 0.2812 +0.3125 0.8438 0.3125 +0.3125 0.8438 0.3438 +0.3125 0.8438 0.375 +0.3125 0.8438 0.4062 +0.3125 0.8438 0.4375 +0.3125 0.8438 0.4688 +0.3125 0.8438 0.5 +0.3125 0.8438 0.5312 +0.3125 0.8438 0.5625 +0.3125 0.8438 0.5938 +0.3125 0.8438 0.625 +0.3125 0.8438 0.6562 +0.3125 0.8438 0.6875 +0.3125 0.8438 0.7188 +0.3125 0.8438 0.75 +0.3125 0.8438 0.7812 +0.3125 0.8438 0.8125 +0.3125 0.8438 0.8438 +0.3125 0.8438 0.875 +0.3125 0.8438 0.9062 +0.3125 0.8438 0.9375 +0.3125 0.8438 0.9688 +0.3125 0.8438 1 +0.3125 0.875 0 +0.3125 0.875 0.03125 +0.3125 0.875 0.0625 +0.3125 0.875 0.09375 +0.3125 0.875 0.125 +0.3125 0.875 0.1562 +0.3125 0.875 0.1875 +0.3125 0.875 0.2188 +0.3125 0.875 0.25 +0.3125 0.875 0.2812 +0.3125 0.875 0.3125 +0.3125 0.875 0.3438 +0.3125 0.875 0.375 +0.3125 0.875 0.4062 +0.3125 0.875 0.4375 +0.3125 0.875 0.4688 +0.3125 0.875 0.5 +0.3125 0.875 0.5312 +0.3125 0.875 0.5625 +0.3125 0.875 0.5938 +0.3125 0.875 0.625 +0.3125 0.875 0.6562 +0.3125 0.875 0.6875 +0.3125 0.875 0.7188 +0.3125 0.875 0.75 +0.3125 0.875 0.7812 +0.3125 0.875 0.8125 +0.3125 0.875 0.8438 +0.3125 0.875 0.875 +0.3125 0.875 0.9062 +0.3125 0.875 0.9375 +0.3125 0.875 0.9688 +0.3125 0.875 1 +0.3125 0.9062 0 +0.3125 0.9062 0.03125 +0.3125 0.9062 0.0625 +0.3125 0.9062 0.09375 +0.3125 0.9062 0.125 +0.3125 0.9062 0.1562 +0.3125 0.9062 0.1875 +0.3125 0.9062 0.2188 +0.3125 0.9062 0.25 +0.3125 0.9062 0.2812 +0.3125 0.9062 0.3125 +0.3125 0.9062 0.3438 +0.3125 0.9062 0.375 +0.3125 0.9062 0.4062 +0.3125 0.9062 0.4375 +0.3125 0.9062 0.4688 +0.3125 0.9062 0.5 +0.3125 0.9062 0.5312 +0.3125 0.9062 0.5625 +0.3125 0.9062 0.5938 +0.3125 0.9062 0.625 +0.3125 0.9062 0.6562 +0.3125 0.9062 0.6875 +0.3125 0.9062 0.7188 +0.3125 0.9062 0.75 +0.3125 0.9062 0.7812 +0.3125 0.9062 0.8125 +0.3125 0.9062 0.8438 +0.3125 0.9062 0.875 +0.3125 0.9062 0.9062 +0.3125 0.9062 0.9375 +0.3125 0.9062 0.9688 +0.3125 0.9062 1 +0.3125 0.9375 0 +0.3125 0.9375 0.03125 +0.3125 0.9375 0.0625 +0.3125 0.9375 0.09375 +0.3125 0.9375 0.125 +0.3125 0.9375 0.1562 +0.3125 0.9375 0.1875 +0.3125 0.9375 0.2188 +0.3125 0.9375 0.25 +0.3125 0.9375 0.2812 +0.3125 0.9375 0.3125 +0.3125 0.9375 0.3438 +0.3125 0.9375 0.375 +0.3125 0.9375 0.4062 +0.3125 0.9375 0.4375 +0.3125 0.9375 0.4688 +0.3125 0.9375 0.5 +0.3125 0.9375 0.5312 +0.3125 0.9375 0.5625 +0.3125 0.9375 0.5938 +0.3125 0.9375 0.625 +0.3125 0.9375 0.6562 +0.3125 0.9375 0.6875 +0.3125 0.9375 0.7188 +0.3125 0.9375 0.75 +0.3125 0.9375 0.7812 +0.3125 0.9375 0.8125 +0.3125 0.9375 0.8438 +0.3125 0.9375 0.875 +0.3125 0.9375 0.9062 +0.3125 0.9375 0.9375 +0.3125 0.9375 0.9688 +0.3125 0.9375 1 +0.3125 0.9688 0 +0.3125 0.9688 0.03125 +0.3125 0.9688 0.0625 +0.3125 0.9688 0.09375 +0.3125 0.9688 0.125 +0.3125 0.9688 0.1562 +0.3125 0.9688 0.1875 +0.3125 0.9688 0.2188 +0.3125 0.9688 0.25 +0.3125 0.9688 0.2812 +0.3125 0.9688 0.3125 +0.3125 0.9688 0.3438 +0.3125 0.9688 0.375 +0.3125 0.9688 0.4062 +0.3125 0.9688 0.4375 +0.3125 0.9688 0.4688 +0.3125 0.9688 0.5 +0.3125 0.9688 0.5312 +0.3125 0.9688 0.5625 +0.3125 0.9688 0.5938 +0.3125 0.9688 0.625 +0.3125 0.9688 0.6562 +0.3125 0.9688 0.6875 +0.3125 0.9688 0.7188 +0.3125 0.9688 0.75 +0.3125 0.9688 0.7812 +0.3125 0.9688 0.8125 +0.3125 0.9688 0.8438 +0.3125 0.9688 0.875 +0.3125 0.9688 0.9062 +0.3125 0.9688 0.9375 +0.3125 0.9688 0.9688 +0.3125 0.9688 1 +0.3125 1 0 +0.3125 1 0.03125 +0.3125 1 0.0625 +0.3125 1 0.09375 +0.3125 1 0.125 +0.3125 1 0.1562 +0.3125 1 0.1875 +0.3125 1 0.2188 +0.3125 1 0.25 +0.3125 1 0.2812 +0.3125 1 0.3125 +0.3125 1 0.3438 +0.3125 1 0.375 +0.3125 1 0.4062 +0.3125 1 0.4375 +0.3125 1 0.4688 +0.3125 1 0.5 +0.3125 1 0.5312 +0.3125 1 0.5625 +0.3125 1 0.5938 +0.3125 1 0.625 +0.3125 1 0.6562 +0.3125 1 0.6875 +0.3125 1 0.7188 +0.3125 1 0.75 +0.3125 1 0.7812 +0.3125 1 0.8125 +0.3125 1 0.8438 +0.3125 1 0.875 +0.3125 1 0.9062 +0.3125 1 0.9375 +0.3125 1 0.9688 +0.3125 1 1 +0.3438 0 0 +0.3438 0 0.03125 +0.3438 0 0.0625 +0.3438 0 0.09375 +0.3438 0 0.125 +0.3438 0 0.1562 +0.3438 0 0.1875 +0.3438 0 0.2188 +0.3438 0 0.25 +0.3438 0 0.2812 +0.3438 0 0.3125 +0.3438 0 0.3438 +0.3438 0 0.375 +0.3438 0 0.4062 +0.3438 0 0.4375 +0.3438 0 0.4688 +0.3438 0 0.5 +0.3438 0 0.5312 +0.3438 0 0.5625 +0.3438 0 0.5938 +0.3438 0 0.625 +0.3438 0 0.6562 +0.3438 0 0.6875 +0.3438 0 0.7188 +0.3438 0 0.75 +0.3438 0 0.7812 +0.3438 0 0.8125 +0.3438 0 0.8438 +0.3438 0 0.875 +0.3438 0 0.9062 +0.3438 0 0.9375 +0.3438 0 0.9688 +0.3438 0 1 +0.3438 0.03125 0 +0.3438 0.03125 0.03125 +0.3438 0.03125 0.0625 +0.3438 0.03125 0.09375 +0.3438 0.03125 0.125 +0.3438 0.03125 0.1562 +0.3438 0.03125 0.1875 +0.3438 0.03125 0.2188 +0.3438 0.03125 0.25 +0.3438 0.03125 0.2812 +0.3438 0.03125 0.3125 +0.3438 0.03125 0.3438 +0.3438 0.03125 0.375 +0.3438 0.03125 0.4062 +0.3438 0.03125 0.4375 +0.3438 0.03125 0.4688 +0.3438 0.03125 0.5 +0.3438 0.03125 0.5312 +0.3438 0.03125 0.5625 +0.3438 0.03125 0.5938 +0.3438 0.03125 0.625 +0.3438 0.03125 0.6562 +0.3438 0.03125 0.6875 +0.3438 0.03125 0.7188 +0.3438 0.03125 0.75 +0.3438 0.03125 0.7812 +0.3438 0.03125 0.8125 +0.3438 0.03125 0.8438 +0.3438 0.03125 0.875 +0.3438 0.03125 0.9062 +0.3438 0.03125 0.9375 +0.3438 0.03125 0.9688 +0.3438 0.03125 1 +0.3438 0.0625 0 +0.3438 0.0625 0.03125 +0.3438 0.0625 0.0625 +0.3438 0.0625 0.09375 +0.3438 0.0625 0.125 +0.3438 0.0625 0.1562 +0.3438 0.0625 0.1875 +0.3438 0.0625 0.2188 +0.3438 0.0625 0.25 +0.3438 0.0625 0.2812 +0.3438 0.0625 0.3125 +0.3438 0.0625 0.3438 +0.3438 0.0625 0.375 +0.3438 0.0625 0.4062 +0.3438 0.0625 0.4375 +0.3438 0.0625 0.4688 +0.3438 0.0625 0.5 +0.3438 0.0625 0.5312 +0.3438 0.0625 0.5625 +0.3438 0.0625 0.5938 +0.3438 0.0625 0.625 +0.3438 0.0625 0.6562 +0.3438 0.0625 0.6875 +0.3438 0.0625 0.7188 +0.3438 0.0625 0.75 +0.3438 0.0625 0.7812 +0.3438 0.0625 0.8125 +0.3438 0.0625 0.8438 +0.3438 0.0625 0.875 +0.3438 0.0625 0.9062 +0.3438 0.0625 0.9375 +0.3438 0.0625 0.9688 +0.3438 0.0625 1 +0.3438 0.09375 0 +0.3438 0.09375 0.03125 +0.3438 0.09375 0.0625 +0.3438 0.09375 0.09375 +0.3438 0.09375 0.125 +0.3438 0.09375 0.1562 +0.3438 0.09375 0.1875 +0.3438 0.09375 0.2188 +0.3438 0.09375 0.25 +0.3438 0.09375 0.2812 +0.3438 0.09375 0.3125 +0.3438 0.09375 0.3438 +0.3438 0.09375 0.375 +0.3438 0.09375 0.4062 +0.3438 0.09375 0.4375 +0.3438 0.09375 0.4688 +0.3438 0.09375 0.5 +0.3438 0.09375 0.5312 +0.3438 0.09375 0.5625 +0.3438 0.09375 0.5938 +0.3438 0.09375 0.625 +0.3438 0.09375 0.6562 +0.3438 0.09375 0.6875 +0.3438 0.09375 0.7188 +0.3438 0.09375 0.75 +0.3438 0.09375 0.7812 +0.3438 0.09375 0.8125 +0.3438 0.09375 0.8438 +0.3438 0.09375 0.875 +0.3438 0.09375 0.9062 +0.3438 0.09375 0.9375 +0.3438 0.09375 0.9688 +0.3438 0.09375 1 +0.3438 0.125 0 +0.3438 0.125 0.03125 +0.3438 0.125 0.0625 +0.3438 0.125 0.09375 +0.3438 0.125 0.125 +0.3438 0.125 0.1562 +0.3438 0.125 0.1875 +0.3438 0.125 0.2188 +0.3438 0.125 0.25 +0.3438 0.125 0.2812 +0.3438 0.125 0.3125 +0.3438 0.125 0.3438 +0.3438 0.125 0.375 +0.3438 0.125 0.4062 +0.3438 0.125 0.4375 +0.3438 0.125 0.4688 +0.3438 0.125 0.5 +0.3438 0.125 0.5312 +0.3438 0.125 0.5625 +0.3438 0.125 0.5938 +0.3438 0.125 0.625 +0.3438 0.125 0.6562 +0.3438 0.125 0.6875 +0.3438 0.125 0.7188 +0.3438 0.125 0.75 +0.3438 0.125 0.7812 +0.3438 0.125 0.8125 +0.3438 0.125 0.8438 +0.3438 0.125 0.875 +0.3438 0.125 0.9062 +0.3438 0.125 0.9375 +0.3438 0.125 0.9688 +0.3438 0.125 1 +0.3438 0.1562 0 +0.3438 0.1562 0.03125 +0.3438 0.1562 0.0625 +0.3438 0.1562 0.09375 +0.3438 0.1562 0.125 +0.3438 0.1562 0.1562 +0.3438 0.1562 0.1875 +0.3438 0.1562 0.2188 +0.3438 0.1562 0.25 +0.3438 0.1562 0.2812 +0.3438 0.1562 0.3125 +0.3438 0.1562 0.3438 +0.3438 0.1562 0.375 +0.3438 0.1562 0.4062 +0.3438 0.1562 0.4375 +0.3438 0.1562 0.4688 +0.3438 0.1562 0.5 +0.3438 0.1562 0.5312 +0.3438 0.1562 0.5625 +0.3438 0.1562 0.5938 +0.3438 0.1562 0.625 +0.3438 0.1562 0.6562 +0.3438 0.1562 0.6875 +0.3438 0.1562 0.7188 +0.3438 0.1562 0.75 +0.3438 0.1562 0.7812 +0.3438 0.1562 0.8125 +0.3438 0.1562 0.8438 +0.3438 0.1562 0.875 +0.3438 0.1562 0.9062 +0.3438 0.1562 0.9375 +0.3438 0.1562 0.9688 +0.3438 0.1562 1 +0.3438 0.1875 0 +0.3438 0.1875 0.03125 +0.3438 0.1875 0.0625 +0.3438 0.1875 0.09375 +0.3438 0.1875 0.125 +0.3438 0.1875 0.1562 +0.3438 0.1875 0.1875 +0.3438 0.1875 0.2188 +0.3438 0.1875 0.25 +0.3438 0.1875 0.2812 +0.3438 0.1875 0.3125 +0.3438 0.1875 0.3438 +0.3438 0.1875 0.375 +0.3438 0.1875 0.4062 +0.3438 0.1875 0.4375 +0.3438 0.1875 0.4688 +0.3438 0.1875 0.5 +0.3438 0.1875 0.5312 +0.3438 0.1875 0.5625 +0.3438 0.1875 0.5938 +0.3438 0.1875 0.625 +0.3438 0.1875 0.6562 +0.3438 0.1875 0.6875 +0.3438 0.1875 0.7188 +0.3438 0.1875 0.75 +0.3438 0.1875 0.7812 +0.3438 0.1875 0.8125 +0.3438 0.1875 0.8438 +0.3438 0.1875 0.875 +0.3438 0.1875 0.9062 +0.3438 0.1875 0.9375 +0.3438 0.1875 0.9688 +0.3438 0.1875 1 +0.3438 0.2188 0 +0.3438 0.2188 0.03125 +0.3438 0.2188 0.0625 +0.3438 0.2188 0.09375 +0.3438 0.2188 0.125 +0.3438 0.2188 0.1562 +0.3438 0.2188 0.1875 +0.3438 0.2188 0.2188 +0.3438 0.2188 0.25 +0.3438 0.2188 0.2812 +0.3438 0.2188 0.3125 +0.3438 0.2188 0.3438 +0.3438 0.2188 0.375 +0.3438 0.2188 0.4062 +0.3438 0.2188 0.4375 +0.3438 0.2188 0.4688 +0.3438 0.2188 0.5 +0.3438 0.2188 0.5312 +0.3438 0.2188 0.5625 +0.3438 0.2188 0.5938 +0.3438 0.2188 0.625 +0.3438 0.2188 0.6562 +0.3438 0.2188 0.6875 +0.3438 0.2188 0.7188 +0.3438 0.2188 0.75 +0.3438 0.2188 0.7812 +0.3438 0.2188 0.8125 +0.3438 0.2188 0.8438 +0.3438 0.2188 0.875 +0.3438 0.2188 0.9062 +0.3438 0.2188 0.9375 +0.3438 0.2188 0.9688 +0.3438 0.2188 1 +0.3438 0.25 0 +0.3438 0.25 0.03125 +0.3438 0.25 0.0625 +0.3438 0.25 0.09375 +0.3438 0.25 0.125 +0.3438 0.25 0.1562 +0.3438 0.25 0.1875 +0.3438 0.25 0.2188 +0.3438 0.25 0.25 +0.3438 0.25 0.2812 +0.3438 0.25 0.3125 +0.3438 0.25 0.3438 +0.3438 0.25 0.375 +0.3438 0.25 0.4062 +0.3438 0.25 0.4375 +0.3438 0.25 0.4688 +0.3438 0.25 0.5 +0.3438 0.25 0.5312 +0.3438 0.25 0.5625 +0.3438 0.25 0.5938 +0.3438 0.25 0.625 +0.3438 0.25 0.6562 +0.3438 0.25 0.6875 +0.3438 0.25 0.7188 +0.3438 0.25 0.75 +0.3438 0.25 0.7812 +0.3438 0.25 0.8125 +0.3438 0.25 0.8438 +0.3438 0.25 0.875 +0.3438 0.25 0.9062 +0.3438 0.25 0.9375 +0.3438 0.25 0.9688 +0.3438 0.25 1 +0.3438 0.2812 0 +0.3438 0.2812 0.03125 +0.3438 0.2812 0.0625 +0.3438 0.2812 0.09375 +0.3438 0.2812 0.125 +0.3438 0.2812 0.1562 +0.3438 0.2812 0.1875 +0.3438 0.2812 0.2188 +0.3438 0.2812 0.25 +0.3438 0.2812 0.2812 +0.3438 0.2812 0.3125 +0.3438 0.2812 0.3438 +0.3438 0.2812 0.375 +0.3438 0.2812 0.4062 +0.3438 0.2812 0.4375 +0.3438 0.2812 0.4688 +0.3438 0.2812 0.5 +0.3438 0.2812 0.5312 +0.3438 0.2812 0.5625 +0.3438 0.2812 0.5938 +0.3438 0.2812 0.625 +0.3438 0.2812 0.6562 +0.3438 0.2812 0.6875 +0.3438 0.2812 0.7188 +0.3438 0.2812 0.75 +0.3438 0.2812 0.7812 +0.3438 0.2812 0.8125 +0.3438 0.2812 0.8438 +0.3438 0.2812 0.875 +0.3438 0.2812 0.9062 +0.3438 0.2812 0.9375 +0.3438 0.2812 0.9688 +0.3438 0.2812 1 +0.3438 0.3125 0 +0.3438 0.3125 0.03125 +0.3438 0.3125 0.0625 +0.3438 0.3125 0.09375 +0.3438 0.3125 0.125 +0.3438 0.3125 0.1562 +0.3438 0.3125 0.1875 +0.3438 0.3125 0.2188 +0.3438 0.3125 0.25 +0.3438 0.3125 0.2812 +0.3438 0.3125 0.3125 +0.3438 0.3125 0.3438 +0.3438 0.3125 0.375 +0.3438 0.3125 0.4062 +0.3438 0.3125 0.4375 +0.3438 0.3125 0.4688 +0.3438 0.3125 0.5 +0.3438 0.3125 0.5312 +0.3438 0.3125 0.5625 +0.3438 0.3125 0.5938 +0.3438 0.3125 0.625 +0.3438 0.3125 0.6562 +0.3438 0.3125 0.6875 +0.3438 0.3125 0.7188 +0.3438 0.3125 0.75 +0.3438 0.3125 0.7812 +0.3438 0.3125 0.8125 +0.3438 0.3125 0.8438 +0.3438 0.3125 0.875 +0.3438 0.3125 0.9062 +0.3438 0.3125 0.9375 +0.3438 0.3125 0.9688 +0.3438 0.3125 1 +0.3438 0.3438 0 +0.3438 0.3438 0.03125 +0.3438 0.3438 0.0625 +0.3438 0.3438 0.09375 +0.3438 0.3438 0.125 +0.3438 0.3438 0.1562 +0.3438 0.3438 0.1875 +0.3438 0.3438 0.2188 +0.3438 0.3438 0.25 +0.3438 0.3438 0.2812 +0.3438 0.3438 0.3125 +0.3438 0.3438 0.3438 +0.3438 0.3438 0.375 +0.3438 0.3438 0.4062 +0.3438 0.3438 0.4375 +0.3438 0.3438 0.4688 +0.3438 0.3438 0.5 +0.3438 0.3438 0.5312 +0.3438 0.3438 0.5625 +0.3438 0.3438 0.5938 +0.3438 0.3438 0.625 +0.3438 0.3438 0.6562 +0.3438 0.3438 0.6875 +0.3438 0.3438 0.7188 +0.3438 0.3438 0.75 +0.3438 0.3438 0.7812 +0.3438 0.3438 0.8125 +0.3438 0.3438 0.8438 +0.3438 0.3438 0.875 +0.3438 0.3438 0.9062 +0.3438 0.3438 0.9375 +0.3438 0.3438 0.9688 +0.3438 0.3438 1 +0.3438 0.375 0 +0.3438 0.375 0.03125 +0.3438 0.375 0.0625 +0.3438 0.375 0.09375 +0.3438 0.375 0.125 +0.3438 0.375 0.1562 +0.3438 0.375 0.1875 +0.3438 0.375 0.2188 +0.3438 0.375 0.25 +0.3438 0.375 0.2812 +0.3438 0.375 0.3125 +0.3438 0.375 0.3438 +0.3438 0.375 0.375 +0.3438 0.375 0.4062 +0.3438 0.375 0.4375 +0.3438 0.375 0.4688 +0.3438 0.375 0.5 +0.3438 0.375 0.5312 +0.3438 0.375 0.5625 +0.3438 0.375 0.5938 +0.3438 0.375 0.625 +0.3438 0.375 0.6562 +0.3438 0.375 0.6875 +0.3438 0.375 0.7188 +0.3438 0.375 0.75 +0.3438 0.375 0.7812 +0.3438 0.375 0.8125 +0.3438 0.375 0.8438 +0.3438 0.375 0.875 +0.3438 0.375 0.9062 +0.3438 0.375 0.9375 +0.3438 0.375 0.9688 +0.3438 0.375 1 +0.3438 0.4062 0 +0.3438 0.4062 0.03125 +0.3438 0.4062 0.0625 +0.3438 0.4062 0.09375 +0.3438 0.4062 0.125 +0.3438 0.4062 0.1562 +0.3438 0.4062 0.1875 +0.3438 0.4062 0.2188 +0.3438 0.4062 0.25 +0.3438 0.4062 0.2812 +0.3438 0.4062 0.3125 +0.3438 0.4062 0.3438 +0.3438 0.4062 0.375 +0.3438 0.4062 0.4062 +0.3438 0.4062 0.4375 +0.3438 0.4062 0.4688 +0.3438 0.4062 0.5 +0.3438 0.4062 0.5312 +0.3438 0.4062 0.5625 +0.3438 0.4062 0.5938 +0.3438 0.4062 0.625 +0.3438 0.4062 0.6562 +0.3438 0.4062 0.6875 +0.3438 0.4062 0.7188 +0.3438 0.4062 0.75 +0.3438 0.4062 0.7812 +0.3438 0.4062 0.8125 +0.3438 0.4062 0.8438 +0.3438 0.4062 0.875 +0.3438 0.4062 0.9062 +0.3438 0.4062 0.9375 +0.3438 0.4062 0.9688 +0.3438 0.4062 1 +0.3438 0.4375 0 +0.3438 0.4375 0.03125 +0.3438 0.4375 0.0625 +0.3438 0.4375 0.09375 +0.3438 0.4375 0.125 +0.3438 0.4375 0.1562 +0.3438 0.4375 0.1875 +0.3438 0.4375 0.2188 +0.3438 0.4375 0.25 +0.3438 0.4375 0.2812 +0.3438 0.4375 0.3125 +0.3438 0.4375 0.3438 +0.3438 0.4375 0.375 +0.3438 0.4375 0.4062 +0.3438 0.4375 0.4375 +0.3438 0.4375 0.4688 +0.3438 0.4375 0.5 +0.3438 0.4375 0.5312 +0.3438 0.4375 0.5625 +0.3438 0.4375 0.5938 +0.3438 0.4375 0.625 +0.3438 0.4375 0.6562 +0.3438 0.4375 0.6875 +0.3438 0.4375 0.7188 +0.3438 0.4375 0.75 +0.3438 0.4375 0.7812 +0.3438 0.4375 0.8125 +0.3438 0.4375 0.8438 +0.3438 0.4375 0.875 +0.3438 0.4375 0.9062 +0.3438 0.4375 0.9375 +0.3438 0.4375 0.9688 +0.3438 0.4375 1 +0.3438 0.4688 0 +0.3438 0.4688 0.03125 +0.3438 0.4688 0.0625 +0.3438 0.4688 0.09375 +0.3438 0.4688 0.125 +0.3438 0.4688 0.1562 +0.3438 0.4688 0.1875 +0.3438 0.4688 0.2188 +0.3438 0.4688 0.25 +0.3438 0.4688 0.2812 +0.3438 0.4688 0.3125 +0.3438 0.4688 0.3438 +0.3438 0.4688 0.375 +0.3438 0.4688 0.4062 +0.3438 0.4688 0.4375 +0.3438 0.4688 0.4688 +0.3438 0.4688 0.5 +0.3438 0.4688 0.5312 +0.3438 0.4688 0.5625 +0.3438 0.4688 0.5938 +0.3438 0.4688 0.625 +0.3438 0.4688 0.6562 +0.3438 0.4688 0.6875 +0.3438 0.4688 0.7188 +0.3438 0.4688 0.75 +0.3438 0.4688 0.7812 +0.3438 0.4688 0.8125 +0.3438 0.4688 0.8438 +0.3438 0.4688 0.875 +0.3438 0.4688 0.9062 +0.3438 0.4688 0.9375 +0.3438 0.4688 0.9688 +0.3438 0.4688 1 +0.3438 0.5 0 +0.3438 0.5 0.03125 +0.3438 0.5 0.0625 +0.3438 0.5 0.09375 +0.3438 0.5 0.125 +0.3438 0.5 0.1562 +0.3438 0.5 0.1875 +0.3438 0.5 0.2188 +0.3438 0.5 0.25 +0.3438 0.5 0.2812 +0.3438 0.5 0.3125 +0.3438 0.5 0.3438 +0.3438 0.5 0.375 +0.3438 0.5 0.4062 +0.3438 0.5 0.4375 +0.3438 0.5 0.4688 +0.3438 0.5 0.5 +0.3438 0.5 0.5312 +0.3438 0.5 0.5625 +0.3438 0.5 0.5938 +0.3438 0.5 0.625 +0.3438 0.5 0.6562 +0.3438 0.5 0.6875 +0.3438 0.5 0.7188 +0.3438 0.5 0.75 +0.3438 0.5 0.7812 +0.3438 0.5 0.8125 +0.3438 0.5 0.8438 +0.3438 0.5 0.875 +0.3438 0.5 0.9062 +0.3438 0.5 0.9375 +0.3438 0.5 0.9688 +0.3438 0.5 1 +0.3438 0.5312 0 +0.3438 0.5312 0.03125 +0.3438 0.5312 0.0625 +0.3438 0.5312 0.09375 +0.3438 0.5312 0.125 +0.3438 0.5312 0.1562 +0.3438 0.5312 0.1875 +0.3438 0.5312 0.2188 +0.3438 0.5312 0.25 +0.3438 0.5312 0.2812 +0.3438 0.5312 0.3125 +0.3438 0.5312 0.3438 +0.3438 0.5312 0.375 +0.3438 0.5312 0.4062 +0.3438 0.5312 0.4375 +0.3438 0.5312 0.4688 +0.3438 0.5312 0.5 +0.3438 0.5312 0.5312 +0.3438 0.5312 0.5625 +0.3438 0.5312 0.5938 +0.3438 0.5312 0.625 +0.3438 0.5312 0.6562 +0.3438 0.5312 0.6875 +0.3438 0.5312 0.7188 +0.3438 0.5312 0.75 +0.3438 0.5312 0.7812 +0.3438 0.5312 0.8125 +0.3438 0.5312 0.8438 +0.3438 0.5312 0.875 +0.3438 0.5312 0.9062 +0.3438 0.5312 0.9375 +0.3438 0.5312 0.9688 +0.3438 0.5312 1 +0.3438 0.5625 0 +0.3438 0.5625 0.03125 +0.3438 0.5625 0.0625 +0.3438 0.5625 0.09375 +0.3438 0.5625 0.125 +0.3438 0.5625 0.1562 +0.3438 0.5625 0.1875 +0.3438 0.5625 0.2188 +0.3438 0.5625 0.25 +0.3438 0.5625 0.2812 +0.3438 0.5625 0.3125 +0.3438 0.5625 0.3438 +0.3438 0.5625 0.375 +0.3438 0.5625 0.4062 +0.3438 0.5625 0.4375 +0.3438 0.5625 0.4688 +0.3438 0.5625 0.5 +0.3438 0.5625 0.5312 +0.3438 0.5625 0.5625 +0.3438 0.5625 0.5938 +0.3438 0.5625 0.625 +0.3438 0.5625 0.6562 +0.3438 0.5625 0.6875 +0.3438 0.5625 0.7188 +0.3438 0.5625 0.75 +0.3438 0.5625 0.7812 +0.3438 0.5625 0.8125 +0.3438 0.5625 0.8438 +0.3438 0.5625 0.875 +0.3438 0.5625 0.9062 +0.3438 0.5625 0.9375 +0.3438 0.5625 0.9688 +0.3438 0.5625 1 +0.3438 0.5938 0 +0.3438 0.5938 0.03125 +0.3438 0.5938 0.0625 +0.3438 0.5938 0.09375 +0.3438 0.5938 0.125 +0.3438 0.5938 0.1562 +0.3438 0.5938 0.1875 +0.3438 0.5938 0.2188 +0.3438 0.5938 0.25 +0.3438 0.5938 0.2812 +0.3438 0.5938 0.3125 +0.3438 0.5938 0.3438 +0.3438 0.5938 0.375 +0.3438 0.5938 0.4062 +0.3438 0.5938 0.4375 +0.3438 0.5938 0.4688 +0.3438 0.5938 0.5 +0.3438 0.5938 0.5312 +0.3438 0.5938 0.5625 +0.3438 0.5938 0.5938 +0.3438 0.5938 0.625 +0.3438 0.5938 0.6562 +0.3438 0.5938 0.6875 +0.3438 0.5938 0.7188 +0.3438 0.5938 0.75 +0.3438 0.5938 0.7812 +0.3438 0.5938 0.8125 +0.3438 0.5938 0.8438 +0.3438 0.5938 0.875 +0.3438 0.5938 0.9062 +0.3438 0.5938 0.9375 +0.3438 0.5938 0.9688 +0.3438 0.5938 1 +0.3438 0.625 0 +0.3438 0.625 0.03125 +0.3438 0.625 0.0625 +0.3438 0.625 0.09375 +0.3438 0.625 0.125 +0.3438 0.625 0.1562 +0.3438 0.625 0.1875 +0.3438 0.625 0.2188 +0.3438 0.625 0.25 +0.3438 0.625 0.2812 +0.3438 0.625 0.3125 +0.3438 0.625 0.3438 +0.3438 0.625 0.375 +0.3438 0.625 0.4062 +0.3438 0.625 0.4375 +0.3438 0.625 0.4688 +0.3438 0.625 0.5 +0.3438 0.625 0.5312 +0.3438 0.625 0.5625 +0.3438 0.625 0.5938 +0.3438 0.625 0.625 +0.3438 0.625 0.6562 +0.3438 0.625 0.6875 +0.3438 0.625 0.7188 +0.3438 0.625 0.75 +0.3438 0.625 0.7812 +0.3438 0.625 0.8125 +0.3438 0.625 0.8438 +0.3438 0.625 0.875 +0.3438 0.625 0.9062 +0.3438 0.625 0.9375 +0.3438 0.625 0.9688 +0.3438 0.625 1 +0.3438 0.6562 0 +0.3438 0.6562 0.03125 +0.3438 0.6562 0.0625 +0.3438 0.6562 0.09375 +0.3438 0.6562 0.125 +0.3438 0.6562 0.1562 +0.3438 0.6562 0.1875 +0.3438 0.6562 0.2188 +0.3438 0.6562 0.25 +0.3438 0.6562 0.2812 +0.3438 0.6562 0.3125 +0.3438 0.6562 0.3438 +0.3438 0.6562 0.375 +0.3438 0.6562 0.4062 +0.3438 0.6562 0.4375 +0.3438 0.6562 0.4688 +0.3438 0.6562 0.5 +0.3438 0.6562 0.5312 +0.3438 0.6562 0.5625 +0.3438 0.6562 0.5938 +0.3438 0.6562 0.625 +0.3438 0.6562 0.6562 +0.3438 0.6562 0.6875 +0.3438 0.6562 0.7188 +0.3438 0.6562 0.75 +0.3438 0.6562 0.7812 +0.3438 0.6562 0.8125 +0.3438 0.6562 0.8438 +0.3438 0.6562 0.875 +0.3438 0.6562 0.9062 +0.3438 0.6562 0.9375 +0.3438 0.6562 0.9688 +0.3438 0.6562 1 +0.3438 0.6875 0 +0.3438 0.6875 0.03125 +0.3438 0.6875 0.0625 +0.3438 0.6875 0.09375 +0.3438 0.6875 0.125 +0.3438 0.6875 0.1562 +0.3438 0.6875 0.1875 +0.3438 0.6875 0.2188 +0.3438 0.6875 0.25 +0.3438 0.6875 0.2812 +0.3438 0.6875 0.3125 +0.3438 0.6875 0.3438 +0.3438 0.6875 0.375 +0.3438 0.6875 0.4062 +0.3438 0.6875 0.4375 +0.3438 0.6875 0.4688 +0.3438 0.6875 0.5 +0.3438 0.6875 0.5312 +0.3438 0.6875 0.5625 +0.3438 0.6875 0.5938 +0.3438 0.6875 0.625 +0.3438 0.6875 0.6562 +0.3438 0.6875 0.6875 +0.3438 0.6875 0.7188 +0.3438 0.6875 0.75 +0.3438 0.6875 0.7812 +0.3438 0.6875 0.8125 +0.3438 0.6875 0.8438 +0.3438 0.6875 0.875 +0.3438 0.6875 0.9062 +0.3438 0.6875 0.9375 +0.3438 0.6875 0.9688 +0.3438 0.6875 1 +0.3438 0.7188 0 +0.3438 0.7188 0.03125 +0.3438 0.7188 0.0625 +0.3438 0.7188 0.09375 +0.3438 0.7188 0.125 +0.3438 0.7188 0.1562 +0.3438 0.7188 0.1875 +0.3438 0.7188 0.2188 +0.3438 0.7188 0.25 +0.3438 0.7188 0.2812 +0.3438 0.7188 0.3125 +0.3438 0.7188 0.3438 +0.3438 0.7188 0.375 +0.3438 0.7188 0.4062 +0.3438 0.7188 0.4375 +0.3438 0.7188 0.4688 +0.3438 0.7188 0.5 +0.3438 0.7188 0.5312 +0.3438 0.7188 0.5625 +0.3438 0.7188 0.5938 +0.3438 0.7188 0.625 +0.3438 0.7188 0.6562 +0.3438 0.7188 0.6875 +0.3438 0.7188 0.7188 +0.3438 0.7188 0.75 +0.3438 0.7188 0.7812 +0.3438 0.7188 0.8125 +0.3438 0.7188 0.8438 +0.3438 0.7188 0.875 +0.3438 0.7188 0.9062 +0.3438 0.7188 0.9375 +0.3438 0.7188 0.9688 +0.3438 0.7188 1 +0.3438 0.75 0 +0.3438 0.75 0.03125 +0.3438 0.75 0.0625 +0.3438 0.75 0.09375 +0.3438 0.75 0.125 +0.3438 0.75 0.1562 +0.3438 0.75 0.1875 +0.3438 0.75 0.2188 +0.3438 0.75 0.25 +0.3438 0.75 0.2812 +0.3438 0.75 0.3125 +0.3438 0.75 0.3438 +0.3438 0.75 0.375 +0.3438 0.75 0.4062 +0.3438 0.75 0.4375 +0.3438 0.75 0.4688 +0.3438 0.75 0.5 +0.3438 0.75 0.5312 +0.3438 0.75 0.5625 +0.3438 0.75 0.5938 +0.3438 0.75 0.625 +0.3438 0.75 0.6562 +0.3438 0.75 0.6875 +0.3438 0.75 0.7188 +0.3438 0.75 0.75 +0.3438 0.75 0.7812 +0.3438 0.75 0.8125 +0.3438 0.75 0.8438 +0.3438 0.75 0.875 +0.3438 0.75 0.9062 +0.3438 0.75 0.9375 +0.3438 0.75 0.9688 +0.3438 0.75 1 +0.3438 0.7812 0 +0.3438 0.7812 0.03125 +0.3438 0.7812 0.0625 +0.3438 0.7812 0.09375 +0.3438 0.7812 0.125 +0.3438 0.7812 0.1562 +0.3438 0.7812 0.1875 +0.3438 0.7812 0.2188 +0.3438 0.7812 0.25 +0.3438 0.7812 0.2812 +0.3438 0.7812 0.3125 +0.3438 0.7812 0.3438 +0.3438 0.7812 0.375 +0.3438 0.7812 0.4062 +0.3438 0.7812 0.4375 +0.3438 0.7812 0.4688 +0.3438 0.7812 0.5 +0.3438 0.7812 0.5312 +0.3438 0.7812 0.5625 +0.3438 0.7812 0.5938 +0.3438 0.7812 0.625 +0.3438 0.7812 0.6562 +0.3438 0.7812 0.6875 +0.3438 0.7812 0.7188 +0.3438 0.7812 0.75 +0.3438 0.7812 0.7812 +0.3438 0.7812 0.8125 +0.3438 0.7812 0.8438 +0.3438 0.7812 0.875 +0.3438 0.7812 0.9062 +0.3438 0.7812 0.9375 +0.3438 0.7812 0.9688 +0.3438 0.7812 1 +0.3438 0.8125 0 +0.3438 0.8125 0.03125 +0.3438 0.8125 0.0625 +0.3438 0.8125 0.09375 +0.3438 0.8125 0.125 +0.3438 0.8125 0.1562 +0.3438 0.8125 0.1875 +0.3438 0.8125 0.2188 +0.3438 0.8125 0.25 +0.3438 0.8125 0.2812 +0.3438 0.8125 0.3125 +0.3438 0.8125 0.3438 +0.3438 0.8125 0.375 +0.3438 0.8125 0.4062 +0.3438 0.8125 0.4375 +0.3438 0.8125 0.4688 +0.3438 0.8125 0.5 +0.3438 0.8125 0.5312 +0.3438 0.8125 0.5625 +0.3438 0.8125 0.5938 +0.3438 0.8125 0.625 +0.3438 0.8125 0.6562 +0.3438 0.8125 0.6875 +0.3438 0.8125 0.7188 +0.3438 0.8125 0.75 +0.3438 0.8125 0.7812 +0.3438 0.8125 0.8125 +0.3438 0.8125 0.8438 +0.3438 0.8125 0.875 +0.3438 0.8125 0.9062 +0.3438 0.8125 0.9375 +0.3438 0.8125 0.9688 +0.3438 0.8125 1 +0.3438 0.8438 0 +0.3438 0.8438 0.03125 +0.3438 0.8438 0.0625 +0.3438 0.8438 0.09375 +0.3438 0.8438 0.125 +0.3438 0.8438 0.1562 +0.3438 0.8438 0.1875 +0.3438 0.8438 0.2188 +0.3438 0.8438 0.25 +0.3438 0.8438 0.2812 +0.3438 0.8438 0.3125 +0.3438 0.8438 0.3438 +0.3438 0.8438 0.375 +0.3438 0.8438 0.4062 +0.3438 0.8438 0.4375 +0.3438 0.8438 0.4688 +0.3438 0.8438 0.5 +0.3438 0.8438 0.5312 +0.3438 0.8438 0.5625 +0.3438 0.8438 0.5938 +0.3438 0.8438 0.625 +0.3438 0.8438 0.6562 +0.3438 0.8438 0.6875 +0.3438 0.8438 0.7188 +0.3438 0.8438 0.75 +0.3438 0.8438 0.7812 +0.3438 0.8438 0.8125 +0.3438 0.8438 0.8438 +0.3438 0.8438 0.875 +0.3438 0.8438 0.9062 +0.3438 0.8438 0.9375 +0.3438 0.8438 0.9688 +0.3438 0.8438 1 +0.3438 0.875 0 +0.3438 0.875 0.03125 +0.3438 0.875 0.0625 +0.3438 0.875 0.09375 +0.3438 0.875 0.125 +0.3438 0.875 0.1562 +0.3438 0.875 0.1875 +0.3438 0.875 0.2188 +0.3438 0.875 0.25 +0.3438 0.875 0.2812 +0.3438 0.875 0.3125 +0.3438 0.875 0.3438 +0.3438 0.875 0.375 +0.3438 0.875 0.4062 +0.3438 0.875 0.4375 +0.3438 0.875 0.4688 +0.3438 0.875 0.5 +0.3438 0.875 0.5312 +0.3438 0.875 0.5625 +0.3438 0.875 0.5938 +0.3438 0.875 0.625 +0.3438 0.875 0.6562 +0.3438 0.875 0.6875 +0.3438 0.875 0.7188 +0.3438 0.875 0.75 +0.3438 0.875 0.7812 +0.3438 0.875 0.8125 +0.3438 0.875 0.8438 +0.3438 0.875 0.875 +0.3438 0.875 0.9062 +0.3438 0.875 0.9375 +0.3438 0.875 0.9688 +0.3438 0.875 1 +0.3438 0.9062 0 +0.3438 0.9062 0.03125 +0.3438 0.9062 0.0625 +0.3438 0.9062 0.09375 +0.3438 0.9062 0.125 +0.3438 0.9062 0.1562 +0.3438 0.9062 0.1875 +0.3438 0.9062 0.2188 +0.3438 0.9062 0.25 +0.3438 0.9062 0.2812 +0.3438 0.9062 0.3125 +0.3438 0.9062 0.3438 +0.3438 0.9062 0.375 +0.3438 0.9062 0.4062 +0.3438 0.9062 0.4375 +0.3438 0.9062 0.4688 +0.3438 0.9062 0.5 +0.3438 0.9062 0.5312 +0.3438 0.9062 0.5625 +0.3438 0.9062 0.5938 +0.3438 0.9062 0.625 +0.3438 0.9062 0.6562 +0.3438 0.9062 0.6875 +0.3438 0.9062 0.7188 +0.3438 0.9062 0.75 +0.3438 0.9062 0.7812 +0.3438 0.9062 0.8125 +0.3438 0.9062 0.8438 +0.3438 0.9062 0.875 +0.3438 0.9062 0.9062 +0.3438 0.9062 0.9375 +0.3438 0.9062 0.9688 +0.3438 0.9062 1 +0.3438 0.9375 0 +0.3438 0.9375 0.03125 +0.3438 0.9375 0.0625 +0.3438 0.9375 0.09375 +0.3438 0.9375 0.125 +0.3438 0.9375 0.1562 +0.3438 0.9375 0.1875 +0.3438 0.9375 0.2188 +0.3438 0.9375 0.25 +0.3438 0.9375 0.2812 +0.3438 0.9375 0.3125 +0.3438 0.9375 0.3438 +0.3438 0.9375 0.375 +0.3438 0.9375 0.4062 +0.3438 0.9375 0.4375 +0.3438 0.9375 0.4688 +0.3438 0.9375 0.5 +0.3438 0.9375 0.5312 +0.3438 0.9375 0.5625 +0.3438 0.9375 0.5938 +0.3438 0.9375 0.625 +0.3438 0.9375 0.6562 +0.3438 0.9375 0.6875 +0.3438 0.9375 0.7188 +0.3438 0.9375 0.75 +0.3438 0.9375 0.7812 +0.3438 0.9375 0.8125 +0.3438 0.9375 0.8438 +0.3438 0.9375 0.875 +0.3438 0.9375 0.9062 +0.3438 0.9375 0.9375 +0.3438 0.9375 0.9688 +0.3438 0.9375 1 +0.3438 0.9688 0 +0.3438 0.9688 0.03125 +0.3438 0.9688 0.0625 +0.3438 0.9688 0.09375 +0.3438 0.9688 0.125 +0.3438 0.9688 0.1562 +0.3438 0.9688 0.1875 +0.3438 0.9688 0.2188 +0.3438 0.9688 0.25 +0.3438 0.9688 0.2812 +0.3438 0.9688 0.3125 +0.3438 0.9688 0.3438 +0.3438 0.9688 0.375 +0.3438 0.9688 0.4062 +0.3438 0.9688 0.4375 +0.3438 0.9688 0.4688 +0.3438 0.9688 0.5 +0.3438 0.9688 0.5312 +0.3438 0.9688 0.5625 +0.3438 0.9688 0.5938 +0.3438 0.9688 0.625 +0.3438 0.9688 0.6562 +0.3438 0.9688 0.6875 +0.3438 0.9688 0.7188 +0.3438 0.9688 0.75 +0.3438 0.9688 0.7812 +0.3438 0.9688 0.8125 +0.3438 0.9688 0.8438 +0.3438 0.9688 0.875 +0.3438 0.9688 0.9062 +0.3438 0.9688 0.9375 +0.3438 0.9688 0.9688 +0.3438 0.9688 1 +0.3438 1 0 +0.3438 1 0.03125 +0.3438 1 0.0625 +0.3438 1 0.09375 +0.3438 1 0.125 +0.3438 1 0.1562 +0.3438 1 0.1875 +0.3438 1 0.2188 +0.3438 1 0.25 +0.3438 1 0.2812 +0.3438 1 0.3125 +0.3438 1 0.3438 +0.3438 1 0.375 +0.3438 1 0.4062 +0.3438 1 0.4375 +0.3438 1 0.4688 +0.3438 1 0.5 +0.3438 1 0.5312 +0.3438 1 0.5625 +0.3438 1 0.5938 +0.3438 1 0.625 +0.3438 1 0.6562 +0.3438 1 0.6875 +0.3438 1 0.7188 +0.3438 1 0.75 +0.3438 1 0.7812 +0.3438 1 0.8125 +0.3438 1 0.8438 +0.3438 1 0.875 +0.3438 1 0.9062 +0.3438 1 0.9375 +0.3438 1 0.9688 +0.3438 1 1 +0.375 0 0 +0.375 0 0.03125 +0.375 0 0.0625 +0.375 0 0.09375 +0.375 0 0.125 +0.375 0 0.1562 +0.375 0 0.1875 +0.375 0 0.2188 +0.375 0 0.25 +0.375 0 0.2812 +0.375 0 0.3125 +0.375 0 0.3438 +0.375 0 0.375 +0.375 0 0.4062 +0.375 0 0.4375 +0.375 0 0.4688 +0.375 0 0.5 +0.375 0 0.5312 +0.375 0 0.5625 +0.375 0 0.5938 +0.375 0 0.625 +0.375 0 0.6562 +0.375 0 0.6875 +0.375 0 0.7188 +0.375 0 0.75 +0.375 0 0.7812 +0.375 0 0.8125 +0.375 0 0.8438 +0.375 0 0.875 +0.375 0 0.9062 +0.375 0 0.9375 +0.375 0 0.9688 +0.375 0 1 +0.375 0.03125 0 +0.375 0.03125 0.03125 +0.375 0.03125 0.0625 +0.375 0.03125 0.09375 +0.375 0.03125 0.125 +0.375 0.03125 0.1562 +0.375 0.03125 0.1875 +0.375 0.03125 0.2188 +0.375 0.03125 0.25 +0.375 0.03125 0.2812 +0.375 0.03125 0.3125 +0.375 0.03125 0.3438 +0.375 0.03125 0.375 +0.375 0.03125 0.4062 +0.375 0.03125 0.4375 +0.375 0.03125 0.4688 +0.375 0.03125 0.5 +0.375 0.03125 0.5312 +0.375 0.03125 0.5625 +0.375 0.03125 0.5938 +0.375 0.03125 0.625 +0.375 0.03125 0.6562 +0.375 0.03125 0.6875 +0.375 0.03125 0.7188 +0.375 0.03125 0.75 +0.375 0.03125 0.7812 +0.375 0.03125 0.8125 +0.375 0.03125 0.8438 +0.375 0.03125 0.875 +0.375 0.03125 0.9062 +0.375 0.03125 0.9375 +0.375 0.03125 0.9688 +0.375 0.03125 1 +0.375 0.0625 0 +0.375 0.0625 0.03125 +0.375 0.0625 0.0625 +0.375 0.0625 0.09375 +0.375 0.0625 0.125 +0.375 0.0625 0.1562 +0.375 0.0625 0.1875 +0.375 0.0625 0.2188 +0.375 0.0625 0.25 +0.375 0.0625 0.2812 +0.375 0.0625 0.3125 +0.375 0.0625 0.3438 +0.375 0.0625 0.375 +0.375 0.0625 0.4062 +0.375 0.0625 0.4375 +0.375 0.0625 0.4688 +0.375 0.0625 0.5 +0.375 0.0625 0.5312 +0.375 0.0625 0.5625 +0.375 0.0625 0.5938 +0.375 0.0625 0.625 +0.375 0.0625 0.6562 +0.375 0.0625 0.6875 +0.375 0.0625 0.7188 +0.375 0.0625 0.75 +0.375 0.0625 0.7812 +0.375 0.0625 0.8125 +0.375 0.0625 0.8438 +0.375 0.0625 0.875 +0.375 0.0625 0.9062 +0.375 0.0625 0.9375 +0.375 0.0625 0.9688 +0.375 0.0625 1 +0.375 0.09375 0 +0.375 0.09375 0.03125 +0.375 0.09375 0.0625 +0.375 0.09375 0.09375 +0.375 0.09375 0.125 +0.375 0.09375 0.1562 +0.375 0.09375 0.1875 +0.375 0.09375 0.2188 +0.375 0.09375 0.25 +0.375 0.09375 0.2812 +0.375 0.09375 0.3125 +0.375 0.09375 0.3438 +0.375 0.09375 0.375 +0.375 0.09375 0.4062 +0.375 0.09375 0.4375 +0.375 0.09375 0.4688 +0.375 0.09375 0.5 +0.375 0.09375 0.5312 +0.375 0.09375 0.5625 +0.375 0.09375 0.5938 +0.375 0.09375 0.625 +0.375 0.09375 0.6562 +0.375 0.09375 0.6875 +0.375 0.09375 0.7188 +0.375 0.09375 0.75 +0.375 0.09375 0.7812 +0.375 0.09375 0.8125 +0.375 0.09375 0.8438 +0.375 0.09375 0.875 +0.375 0.09375 0.9062 +0.375 0.09375 0.9375 +0.375 0.09375 0.9688 +0.375 0.09375 1 +0.375 0.125 0 +0.375 0.125 0.03125 +0.375 0.125 0.0625 +0.375 0.125 0.09375 +0.375 0.125 0.125 +0.375 0.125 0.1562 +0.375 0.125 0.1875 +0.375 0.125 0.2188 +0.375 0.125 0.25 +0.375 0.125 0.2812 +0.375 0.125 0.3125 +0.375 0.125 0.3438 +0.375 0.125 0.375 +0.375 0.125 0.4062 +0.375 0.125 0.4375 +0.375 0.125 0.4688 +0.375 0.125 0.5 +0.375 0.125 0.5312 +0.375 0.125 0.5625 +0.375 0.125 0.5938 +0.375 0.125 0.625 +0.375 0.125 0.6562 +0.375 0.125 0.6875 +0.375 0.125 0.7188 +0.375 0.125 0.75 +0.375 0.125 0.7812 +0.375 0.125 0.8125 +0.375 0.125 0.8438 +0.375 0.125 0.875 +0.375 0.125 0.9062 +0.375 0.125 0.9375 +0.375 0.125 0.9688 +0.375 0.125 1 +0.375 0.1562 0 +0.375 0.1562 0.03125 +0.375 0.1562 0.0625 +0.375 0.1562 0.09375 +0.375 0.1562 0.125 +0.375 0.1562 0.1562 +0.375 0.1562 0.1875 +0.375 0.1562 0.2188 +0.375 0.1562 0.25 +0.375 0.1562 0.2812 +0.375 0.1562 0.3125 +0.375 0.1562 0.3438 +0.375 0.1562 0.375 +0.375 0.1562 0.4062 +0.375 0.1562 0.4375 +0.375 0.1562 0.4688 +0.375 0.1562 0.5 +0.375 0.1562 0.5312 +0.375 0.1562 0.5625 +0.375 0.1562 0.5938 +0.375 0.1562 0.625 +0.375 0.1562 0.6562 +0.375 0.1562 0.6875 +0.375 0.1562 0.7188 +0.375 0.1562 0.75 +0.375 0.1562 0.7812 +0.375 0.1562 0.8125 +0.375 0.1562 0.8438 +0.375 0.1562 0.875 +0.375 0.1562 0.9062 +0.375 0.1562 0.9375 +0.375 0.1562 0.9688 +0.375 0.1562 1 +0.375 0.1875 0 +0.375 0.1875 0.03125 +0.375 0.1875 0.0625 +0.375 0.1875 0.09375 +0.375 0.1875 0.125 +0.375 0.1875 0.1562 +0.375 0.1875 0.1875 +0.375 0.1875 0.2188 +0.375 0.1875 0.25 +0.375 0.1875 0.2812 +0.375 0.1875 0.3125 +0.375 0.1875 0.3438 +0.375 0.1875 0.375 +0.375 0.1875 0.4062 +0.375 0.1875 0.4375 +0.375 0.1875 0.4688 +0.375 0.1875 0.5 +0.375 0.1875 0.5312 +0.375 0.1875 0.5625 +0.375 0.1875 0.5938 +0.375 0.1875 0.625 +0.375 0.1875 0.6562 +0.375 0.1875 0.6875 +0.375 0.1875 0.7188 +0.375 0.1875 0.75 +0.375 0.1875 0.7812 +0.375 0.1875 0.8125 +0.375 0.1875 0.8438 +0.375 0.1875 0.875 +0.375 0.1875 0.9062 +0.375 0.1875 0.9375 +0.375 0.1875 0.9688 +0.375 0.1875 1 +0.375 0.2188 0 +0.375 0.2188 0.03125 +0.375 0.2188 0.0625 +0.375 0.2188 0.09375 +0.375 0.2188 0.125 +0.375 0.2188 0.1562 +0.375 0.2188 0.1875 +0.375 0.2188 0.2188 +0.375 0.2188 0.25 +0.375 0.2188 0.2812 +0.375 0.2188 0.3125 +0.375 0.2188 0.3438 +0.375 0.2188 0.375 +0.375 0.2188 0.4062 +0.375 0.2188 0.4375 +0.375 0.2188 0.4688 +0.375 0.2188 0.5 +0.375 0.2188 0.5312 +0.375 0.2188 0.5625 +0.375 0.2188 0.5938 +0.375 0.2188 0.625 +0.375 0.2188 0.6562 +0.375 0.2188 0.6875 +0.375 0.2188 0.7188 +0.375 0.2188 0.75 +0.375 0.2188 0.7812 +0.375 0.2188 0.8125 +0.375 0.2188 0.8438 +0.375 0.2188 0.875 +0.375 0.2188 0.9062 +0.375 0.2188 0.9375 +0.375 0.2188 0.9688 +0.375 0.2188 1 +0.375 0.25 0 +0.375 0.25 0.03125 +0.375 0.25 0.0625 +0.375 0.25 0.09375 +0.375 0.25 0.125 +0.375 0.25 0.1562 +0.375 0.25 0.1875 +0.375 0.25 0.2188 +0.375 0.25 0.25 +0.375 0.25 0.2812 +0.375 0.25 0.3125 +0.375 0.25 0.3438 +0.375 0.25 0.375 +0.375 0.25 0.4062 +0.375 0.25 0.4375 +0.375 0.25 0.4688 +0.375 0.25 0.5 +0.375 0.25 0.5312 +0.375 0.25 0.5625 +0.375 0.25 0.5938 +0.375 0.25 0.625 +0.375 0.25 0.6562 +0.375 0.25 0.6875 +0.375 0.25 0.7188 +0.375 0.25 0.75 +0.375 0.25 0.7812 +0.375 0.25 0.8125 +0.375 0.25 0.8438 +0.375 0.25 0.875 +0.375 0.25 0.9062 +0.375 0.25 0.9375 +0.375 0.25 0.9688 +0.375 0.25 1 +0.375 0.2812 0 +0.375 0.2812 0.03125 +0.375 0.2812 0.0625 +0.375 0.2812 0.09375 +0.375 0.2812 0.125 +0.375 0.2812 0.1562 +0.375 0.2812 0.1875 +0.375 0.2812 0.2188 +0.375 0.2812 0.25 +0.375 0.2812 0.2812 +0.375 0.2812 0.3125 +0.375 0.2812 0.3438 +0.375 0.2812 0.375 +0.375 0.2812 0.4062 +0.375 0.2812 0.4375 +0.375 0.2812 0.4688 +0.375 0.2812 0.5 +0.375 0.2812 0.5312 +0.375 0.2812 0.5625 +0.375 0.2812 0.5938 +0.375 0.2812 0.625 +0.375 0.2812 0.6562 +0.375 0.2812 0.6875 +0.375 0.2812 0.7188 +0.375 0.2812 0.75 +0.375 0.2812 0.7812 +0.375 0.2812 0.8125 +0.375 0.2812 0.8438 +0.375 0.2812 0.875 +0.375 0.2812 0.9062 +0.375 0.2812 0.9375 +0.375 0.2812 0.9688 +0.375 0.2812 1 +0.375 0.3125 0 +0.375 0.3125 0.03125 +0.375 0.3125 0.0625 +0.375 0.3125 0.09375 +0.375 0.3125 0.125 +0.375 0.3125 0.1562 +0.375 0.3125 0.1875 +0.375 0.3125 0.2188 +0.375 0.3125 0.25 +0.375 0.3125 0.2812 +0.375 0.3125 0.3125 +0.375 0.3125 0.3438 +0.375 0.3125 0.375 +0.375 0.3125 0.4062 +0.375 0.3125 0.4375 +0.375 0.3125 0.4688 +0.375 0.3125 0.5 +0.375 0.3125 0.5312 +0.375 0.3125 0.5625 +0.375 0.3125 0.5938 +0.375 0.3125 0.625 +0.375 0.3125 0.6562 +0.375 0.3125 0.6875 +0.375 0.3125 0.7188 +0.375 0.3125 0.75 +0.375 0.3125 0.7812 +0.375 0.3125 0.8125 +0.375 0.3125 0.8438 +0.375 0.3125 0.875 +0.375 0.3125 0.9062 +0.375 0.3125 0.9375 +0.375 0.3125 0.9688 +0.375 0.3125 1 +0.375 0.3438 0 +0.375 0.3438 0.03125 +0.375 0.3438 0.0625 +0.375 0.3438 0.09375 +0.375 0.3438 0.125 +0.375 0.3438 0.1562 +0.375 0.3438 0.1875 +0.375 0.3438 0.2188 +0.375 0.3438 0.25 +0.375 0.3438 0.2812 +0.375 0.3438 0.3125 +0.375 0.3438 0.3438 +0.375 0.3438 0.375 +0.375 0.3438 0.4062 +0.375 0.3438 0.4375 +0.375 0.3438 0.4688 +0.375 0.3438 0.5 +0.375 0.3438 0.5312 +0.375 0.3438 0.5625 +0.375 0.3438 0.5938 +0.375 0.3438 0.625 +0.375 0.3438 0.6562 +0.375 0.3438 0.6875 +0.375 0.3438 0.7188 +0.375 0.3438 0.75 +0.375 0.3438 0.7812 +0.375 0.3438 0.8125 +0.375 0.3438 0.8438 +0.375 0.3438 0.875 +0.375 0.3438 0.9062 +0.375 0.3438 0.9375 +0.375 0.3438 0.9688 +0.375 0.3438 1 +0.375 0.375 0 +0.375 0.375 0.03125 +0.375 0.375 0.0625 +0.375 0.375 0.09375 +0.375 0.375 0.125 +0.375 0.375 0.1562 +0.375 0.375 0.1875 +0.375 0.375 0.2188 +0.375 0.375 0.25 +0.375 0.375 0.2812 +0.375 0.375 0.3125 +0.375 0.375 0.3438 +0.375 0.375 0.375 +0.375 0.375 0.4062 +0.375 0.375 0.4375 +0.375 0.375 0.4688 +0.375 0.375 0.5 +0.375 0.375 0.5312 +0.375 0.375 0.5625 +0.375 0.375 0.5938 +0.375 0.375 0.625 +0.375 0.375 0.6562 +0.375 0.375 0.6875 +0.375 0.375 0.7188 +0.375 0.375 0.75 +0.375 0.375 0.7812 +0.375 0.375 0.8125 +0.375 0.375 0.8438 +0.375 0.375 0.875 +0.375 0.375 0.9062 +0.375 0.375 0.9375 +0.375 0.375 0.9688 +0.375 0.375 1 +0.375 0.4062 0 +0.375 0.4062 0.03125 +0.375 0.4062 0.0625 +0.375 0.4062 0.09375 +0.375 0.4062 0.125 +0.375 0.4062 0.1562 +0.375 0.4062 0.1875 +0.375 0.4062 0.2188 +0.375 0.4062 0.25 +0.375 0.4062 0.2812 +0.375 0.4062 0.3125 +0.375 0.4062 0.3438 +0.375 0.4062 0.375 +0.375 0.4062 0.4062 +0.375 0.4062 0.4375 +0.375 0.4062 0.4688 +0.375 0.4062 0.5 +0.375 0.4062 0.5312 +0.375 0.4062 0.5625 +0.375 0.4062 0.5938 +0.375 0.4062 0.625 +0.375 0.4062 0.6562 +0.375 0.4062 0.6875 +0.375 0.4062 0.7188 +0.375 0.4062 0.75 +0.375 0.4062 0.7812 +0.375 0.4062 0.8125 +0.375 0.4062 0.8438 +0.375 0.4062 0.875 +0.375 0.4062 0.9062 +0.375 0.4062 0.9375 +0.375 0.4062 0.9688 +0.375 0.4062 1 +0.375 0.4375 0 +0.375 0.4375 0.03125 +0.375 0.4375 0.0625 +0.375 0.4375 0.09375 +0.375 0.4375 0.125 +0.375 0.4375 0.1562 +0.375 0.4375 0.1875 +0.375 0.4375 0.2188 +0.375 0.4375 0.25 +0.375 0.4375 0.2812 +0.375 0.4375 0.3125 +0.375 0.4375 0.3438 +0.375 0.4375 0.375 +0.375 0.4375 0.4062 +0.375 0.4375 0.4375 +0.375 0.4375 0.4688 +0.375 0.4375 0.5 +0.375 0.4375 0.5312 +0.375 0.4375 0.5625 +0.375 0.4375 0.5938 +0.375 0.4375 0.625 +0.375 0.4375 0.6562 +0.375 0.4375 0.6875 +0.375 0.4375 0.7188 +0.375 0.4375 0.75 +0.375 0.4375 0.7812 +0.375 0.4375 0.8125 +0.375 0.4375 0.8438 +0.375 0.4375 0.875 +0.375 0.4375 0.9062 +0.375 0.4375 0.9375 +0.375 0.4375 0.9688 +0.375 0.4375 1 +0.375 0.4688 0 +0.375 0.4688 0.03125 +0.375 0.4688 0.0625 +0.375 0.4688 0.09375 +0.375 0.4688 0.125 +0.375 0.4688 0.1562 +0.375 0.4688 0.1875 +0.375 0.4688 0.2188 +0.375 0.4688 0.25 +0.375 0.4688 0.2812 +0.375 0.4688 0.3125 +0.375 0.4688 0.3438 +0.375 0.4688 0.375 +0.375 0.4688 0.4062 +0.375 0.4688 0.4375 +0.375 0.4688 0.4688 +0.375 0.4688 0.5 +0.375 0.4688 0.5312 +0.375 0.4688 0.5625 +0.375 0.4688 0.5938 +0.375 0.4688 0.625 +0.375 0.4688 0.6562 +0.375 0.4688 0.6875 +0.375 0.4688 0.7188 +0.375 0.4688 0.75 +0.375 0.4688 0.7812 +0.375 0.4688 0.8125 +0.375 0.4688 0.8438 +0.375 0.4688 0.875 +0.375 0.4688 0.9062 +0.375 0.4688 0.9375 +0.375 0.4688 0.9688 +0.375 0.4688 1 +0.375 0.5 0 +0.375 0.5 0.03125 +0.375 0.5 0.0625 +0.375 0.5 0.09375 +0.375 0.5 0.125 +0.375 0.5 0.1562 +0.375 0.5 0.1875 +0.375 0.5 0.2188 +0.375 0.5 0.25 +0.375 0.5 0.2812 +0.375 0.5 0.3125 +0.375 0.5 0.3438 +0.375 0.5 0.375 +0.375 0.5 0.4062 +0.375 0.5 0.4375 +0.375 0.5 0.4688 +0.375 0.5 0.5 +0.375 0.5 0.5312 +0.375 0.5 0.5625 +0.375 0.5 0.5938 +0.375 0.5 0.625 +0.375 0.5 0.6562 +0.375 0.5 0.6875 +0.375 0.5 0.7188 +0.375 0.5 0.75 +0.375 0.5 0.7812 +0.375 0.5 0.8125 +0.375 0.5 0.8438 +0.375 0.5 0.875 +0.375 0.5 0.9062 +0.375 0.5 0.9375 +0.375 0.5 0.9688 +0.375 0.5 1 +0.375 0.5312 0 +0.375 0.5312 0.03125 +0.375 0.5312 0.0625 +0.375 0.5312 0.09375 +0.375 0.5312 0.125 +0.375 0.5312 0.1562 +0.375 0.5312 0.1875 +0.375 0.5312 0.2188 +0.375 0.5312 0.25 +0.375 0.5312 0.2812 +0.375 0.5312 0.3125 +0.375 0.5312 0.3438 +0.375 0.5312 0.375 +0.375 0.5312 0.4062 +0.375 0.5312 0.4375 +0.375 0.5312 0.4688 +0.375 0.5312 0.5 +0.375 0.5312 0.5312 +0.375 0.5312 0.5625 +0.375 0.5312 0.5938 +0.375 0.5312 0.625 +0.375 0.5312 0.6562 +0.375 0.5312 0.6875 +0.375 0.5312 0.7188 +0.375 0.5312 0.75 +0.375 0.5312 0.7812 +0.375 0.5312 0.8125 +0.375 0.5312 0.8438 +0.375 0.5312 0.875 +0.375 0.5312 0.9062 +0.375 0.5312 0.9375 +0.375 0.5312 0.9688 +0.375 0.5312 1 +0.375 0.5625 0 +0.375 0.5625 0.03125 +0.375 0.5625 0.0625 +0.375 0.5625 0.09375 +0.375 0.5625 0.125 +0.375 0.5625 0.1562 +0.375 0.5625 0.1875 +0.375 0.5625 0.2188 +0.375 0.5625 0.25 +0.375 0.5625 0.2812 +0.375 0.5625 0.3125 +0.375 0.5625 0.3438 +0.375 0.5625 0.375 +0.375 0.5625 0.4062 +0.375 0.5625 0.4375 +0.375 0.5625 0.4688 +0.375 0.5625 0.5 +0.375 0.5625 0.5312 +0.375 0.5625 0.5625 +0.375 0.5625 0.5938 +0.375 0.5625 0.625 +0.375 0.5625 0.6562 +0.375 0.5625 0.6875 +0.375 0.5625 0.7188 +0.375 0.5625 0.75 +0.375 0.5625 0.7812 +0.375 0.5625 0.8125 +0.375 0.5625 0.8438 +0.375 0.5625 0.875 +0.375 0.5625 0.9062 +0.375 0.5625 0.9375 +0.375 0.5625 0.9688 +0.375 0.5625 1 +0.375 0.5938 0 +0.375 0.5938 0.03125 +0.375 0.5938 0.0625 +0.375 0.5938 0.09375 +0.375 0.5938 0.125 +0.375 0.5938 0.1562 +0.375 0.5938 0.1875 +0.375 0.5938 0.2188 +0.375 0.5938 0.25 +0.375 0.5938 0.2812 +0.375 0.5938 0.3125 +0.375 0.5938 0.3438 +0.375 0.5938 0.375 +0.375 0.5938 0.4062 +0.375 0.5938 0.4375 +0.375 0.5938 0.4688 +0.375 0.5938 0.5 +0.375 0.5938 0.5312 +0.375 0.5938 0.5625 +0.375 0.5938 0.5938 +0.375 0.5938 0.625 +0.375 0.5938 0.6562 +0.375 0.5938 0.6875 +0.375 0.5938 0.7188 +0.375 0.5938 0.75 +0.375 0.5938 0.7812 +0.375 0.5938 0.8125 +0.375 0.5938 0.8438 +0.375 0.5938 0.875 +0.375 0.5938 0.9062 +0.375 0.5938 0.9375 +0.375 0.5938 0.9688 +0.375 0.5938 1 +0.375 0.625 0 +0.375 0.625 0.03125 +0.375 0.625 0.0625 +0.375 0.625 0.09375 +0.375 0.625 0.125 +0.375 0.625 0.1562 +0.375 0.625 0.1875 +0.375 0.625 0.2188 +0.375 0.625 0.25 +0.375 0.625 0.2812 +0.375 0.625 0.3125 +0.375 0.625 0.3438 +0.375 0.625 0.375 +0.375 0.625 0.4062 +0.375 0.625 0.4375 +0.375 0.625 0.4688 +0.375 0.625 0.5 +0.375 0.625 0.5312 +0.375 0.625 0.5625 +0.375 0.625 0.5938 +0.375 0.625 0.625 +0.375 0.625 0.6562 +0.375 0.625 0.6875 +0.375 0.625 0.7188 +0.375 0.625 0.75 +0.375 0.625 0.7812 +0.375 0.625 0.8125 +0.375 0.625 0.8438 +0.375 0.625 0.875 +0.375 0.625 0.9062 +0.375 0.625 0.9375 +0.375 0.625 0.9688 +0.375 0.625 1 +0.375 0.6562 0 +0.375 0.6562 0.03125 +0.375 0.6562 0.0625 +0.375 0.6562 0.09375 +0.375 0.6562 0.125 +0.375 0.6562 0.1562 +0.375 0.6562 0.1875 +0.375 0.6562 0.2188 +0.375 0.6562 0.25 +0.375 0.6562 0.2812 +0.375 0.6562 0.3125 +0.375 0.6562 0.3438 +0.375 0.6562 0.375 +0.375 0.6562 0.4062 +0.375 0.6562 0.4375 +0.375 0.6562 0.4688 +0.375 0.6562 0.5 +0.375 0.6562 0.5312 +0.375 0.6562 0.5625 +0.375 0.6562 0.5938 +0.375 0.6562 0.625 +0.375 0.6562 0.6562 +0.375 0.6562 0.6875 +0.375 0.6562 0.7188 +0.375 0.6562 0.75 +0.375 0.6562 0.7812 +0.375 0.6562 0.8125 +0.375 0.6562 0.8438 +0.375 0.6562 0.875 +0.375 0.6562 0.9062 +0.375 0.6562 0.9375 +0.375 0.6562 0.9688 +0.375 0.6562 1 +0.375 0.6875 0 +0.375 0.6875 0.03125 +0.375 0.6875 0.0625 +0.375 0.6875 0.09375 +0.375 0.6875 0.125 +0.375 0.6875 0.1562 +0.375 0.6875 0.1875 +0.375 0.6875 0.2188 +0.375 0.6875 0.25 +0.375 0.6875 0.2812 +0.375 0.6875 0.3125 +0.375 0.6875 0.3438 +0.375 0.6875 0.375 +0.375 0.6875 0.4062 +0.375 0.6875 0.4375 +0.375 0.6875 0.4688 +0.375 0.6875 0.5 +0.375 0.6875 0.5312 +0.375 0.6875 0.5625 +0.375 0.6875 0.5938 +0.375 0.6875 0.625 +0.375 0.6875 0.6562 +0.375 0.6875 0.6875 +0.375 0.6875 0.7188 +0.375 0.6875 0.75 +0.375 0.6875 0.7812 +0.375 0.6875 0.8125 +0.375 0.6875 0.8438 +0.375 0.6875 0.875 +0.375 0.6875 0.9062 +0.375 0.6875 0.9375 +0.375 0.6875 0.9688 +0.375 0.6875 1 +0.375 0.7188 0 +0.375 0.7188 0.03125 +0.375 0.7188 0.0625 +0.375 0.7188 0.09375 +0.375 0.7188 0.125 +0.375 0.7188 0.1562 +0.375 0.7188 0.1875 +0.375 0.7188 0.2188 +0.375 0.7188 0.25 +0.375 0.7188 0.2812 +0.375 0.7188 0.3125 +0.375 0.7188 0.3438 +0.375 0.7188 0.375 +0.375 0.7188 0.4062 +0.375 0.7188 0.4375 +0.375 0.7188 0.4688 +0.375 0.7188 0.5 +0.375 0.7188 0.5312 +0.375 0.7188 0.5625 +0.375 0.7188 0.5938 +0.375 0.7188 0.625 +0.375 0.7188 0.6562 +0.375 0.7188 0.6875 +0.375 0.7188 0.7188 +0.375 0.7188 0.75 +0.375 0.7188 0.7812 +0.375 0.7188 0.8125 +0.375 0.7188 0.8438 +0.375 0.7188 0.875 +0.375 0.7188 0.9062 +0.375 0.7188 0.9375 +0.375 0.7188 0.9688 +0.375 0.7188 1 +0.375 0.75 0 +0.375 0.75 0.03125 +0.375 0.75 0.0625 +0.375 0.75 0.09375 +0.375 0.75 0.125 +0.375 0.75 0.1562 +0.375 0.75 0.1875 +0.375 0.75 0.2188 +0.375 0.75 0.25 +0.375 0.75 0.2812 +0.375 0.75 0.3125 +0.375 0.75 0.3438 +0.375 0.75 0.375 +0.375 0.75 0.4062 +0.375 0.75 0.4375 +0.375 0.75 0.4688 +0.375 0.75 0.5 +0.375 0.75 0.5312 +0.375 0.75 0.5625 +0.375 0.75 0.5938 +0.375 0.75 0.625 +0.375 0.75 0.6562 +0.375 0.75 0.6875 +0.375 0.75 0.7188 +0.375 0.75 0.75 +0.375 0.75 0.7812 +0.375 0.75 0.8125 +0.375 0.75 0.8438 +0.375 0.75 0.875 +0.375 0.75 0.9062 +0.375 0.75 0.9375 +0.375 0.75 0.9688 +0.375 0.75 1 +0.375 0.7812 0 +0.375 0.7812 0.03125 +0.375 0.7812 0.0625 +0.375 0.7812 0.09375 +0.375 0.7812 0.125 +0.375 0.7812 0.1562 +0.375 0.7812 0.1875 +0.375 0.7812 0.2188 +0.375 0.7812 0.25 +0.375 0.7812 0.2812 +0.375 0.7812 0.3125 +0.375 0.7812 0.3438 +0.375 0.7812 0.375 +0.375 0.7812 0.4062 +0.375 0.7812 0.4375 +0.375 0.7812 0.4688 +0.375 0.7812 0.5 +0.375 0.7812 0.5312 +0.375 0.7812 0.5625 +0.375 0.7812 0.5938 +0.375 0.7812 0.625 +0.375 0.7812 0.6562 +0.375 0.7812 0.6875 +0.375 0.7812 0.7188 +0.375 0.7812 0.75 +0.375 0.7812 0.7812 +0.375 0.7812 0.8125 +0.375 0.7812 0.8438 +0.375 0.7812 0.875 +0.375 0.7812 0.9062 +0.375 0.7812 0.9375 +0.375 0.7812 0.9688 +0.375 0.7812 1 +0.375 0.8125 0 +0.375 0.8125 0.03125 +0.375 0.8125 0.0625 +0.375 0.8125 0.09375 +0.375 0.8125 0.125 +0.375 0.8125 0.1562 +0.375 0.8125 0.1875 +0.375 0.8125 0.2188 +0.375 0.8125 0.25 +0.375 0.8125 0.2812 +0.375 0.8125 0.3125 +0.375 0.8125 0.3438 +0.375 0.8125 0.375 +0.375 0.8125 0.4062 +0.375 0.8125 0.4375 +0.375 0.8125 0.4688 +0.375 0.8125 0.5 +0.375 0.8125 0.5312 +0.375 0.8125 0.5625 +0.375 0.8125 0.5938 +0.375 0.8125 0.625 +0.375 0.8125 0.6562 +0.375 0.8125 0.6875 +0.375 0.8125 0.7188 +0.375 0.8125 0.75 +0.375 0.8125 0.7812 +0.375 0.8125 0.8125 +0.375 0.8125 0.8438 +0.375 0.8125 0.875 +0.375 0.8125 0.9062 +0.375 0.8125 0.9375 +0.375 0.8125 0.9688 +0.375 0.8125 1 +0.375 0.8438 0 +0.375 0.8438 0.03125 +0.375 0.8438 0.0625 +0.375 0.8438 0.09375 +0.375 0.8438 0.125 +0.375 0.8438 0.1562 +0.375 0.8438 0.1875 +0.375 0.8438 0.2188 +0.375 0.8438 0.25 +0.375 0.8438 0.2812 +0.375 0.8438 0.3125 +0.375 0.8438 0.3438 +0.375 0.8438 0.375 +0.375 0.8438 0.4062 +0.375 0.8438 0.4375 +0.375 0.8438 0.4688 +0.375 0.8438 0.5 +0.375 0.8438 0.5312 +0.375 0.8438 0.5625 +0.375 0.8438 0.5938 +0.375 0.8438 0.625 +0.375 0.8438 0.6562 +0.375 0.8438 0.6875 +0.375 0.8438 0.7188 +0.375 0.8438 0.75 +0.375 0.8438 0.7812 +0.375 0.8438 0.8125 +0.375 0.8438 0.8438 +0.375 0.8438 0.875 +0.375 0.8438 0.9062 +0.375 0.8438 0.9375 +0.375 0.8438 0.9688 +0.375 0.8438 1 +0.375 0.875 0 +0.375 0.875 0.03125 +0.375 0.875 0.0625 +0.375 0.875 0.09375 +0.375 0.875 0.125 +0.375 0.875 0.1562 +0.375 0.875 0.1875 +0.375 0.875 0.2188 +0.375 0.875 0.25 +0.375 0.875 0.2812 +0.375 0.875 0.3125 +0.375 0.875 0.3438 +0.375 0.875 0.375 +0.375 0.875 0.4062 +0.375 0.875 0.4375 +0.375 0.875 0.4688 +0.375 0.875 0.5 +0.375 0.875 0.5312 +0.375 0.875 0.5625 +0.375 0.875 0.5938 +0.375 0.875 0.625 +0.375 0.875 0.6562 +0.375 0.875 0.6875 +0.375 0.875 0.7188 +0.375 0.875 0.75 +0.375 0.875 0.7812 +0.375 0.875 0.8125 +0.375 0.875 0.8438 +0.375 0.875 0.875 +0.375 0.875 0.9062 +0.375 0.875 0.9375 +0.375 0.875 0.9688 +0.375 0.875 1 +0.375 0.9062 0 +0.375 0.9062 0.03125 +0.375 0.9062 0.0625 +0.375 0.9062 0.09375 +0.375 0.9062 0.125 +0.375 0.9062 0.1562 +0.375 0.9062 0.1875 +0.375 0.9062 0.2188 +0.375 0.9062 0.25 +0.375 0.9062 0.2812 +0.375 0.9062 0.3125 +0.375 0.9062 0.3438 +0.375 0.9062 0.375 +0.375 0.9062 0.4062 +0.375 0.9062 0.4375 +0.375 0.9062 0.4688 +0.375 0.9062 0.5 +0.375 0.9062 0.5312 +0.375 0.9062 0.5625 +0.375 0.9062 0.5938 +0.375 0.9062 0.625 +0.375 0.9062 0.6562 +0.375 0.9062 0.6875 +0.375 0.9062 0.7188 +0.375 0.9062 0.75 +0.375 0.9062 0.7812 +0.375 0.9062 0.8125 +0.375 0.9062 0.8438 +0.375 0.9062 0.875 +0.375 0.9062 0.9062 +0.375 0.9062 0.9375 +0.375 0.9062 0.9688 +0.375 0.9062 1 +0.375 0.9375 0 +0.375 0.9375 0.03125 +0.375 0.9375 0.0625 +0.375 0.9375 0.09375 +0.375 0.9375 0.125 +0.375 0.9375 0.1562 +0.375 0.9375 0.1875 +0.375 0.9375 0.2188 +0.375 0.9375 0.25 +0.375 0.9375 0.2812 +0.375 0.9375 0.3125 +0.375 0.9375 0.3438 +0.375 0.9375 0.375 +0.375 0.9375 0.4062 +0.375 0.9375 0.4375 +0.375 0.9375 0.4688 +0.375 0.9375 0.5 +0.375 0.9375 0.5312 +0.375 0.9375 0.5625 +0.375 0.9375 0.5938 +0.375 0.9375 0.625 +0.375 0.9375 0.6562 +0.375 0.9375 0.6875 +0.375 0.9375 0.7188 +0.375 0.9375 0.75 +0.375 0.9375 0.7812 +0.375 0.9375 0.8125 +0.375 0.9375 0.8438 +0.375 0.9375 0.875 +0.375 0.9375 0.9062 +0.375 0.9375 0.9375 +0.375 0.9375 0.9688 +0.375 0.9375 1 +0.375 0.9688 0 +0.375 0.9688 0.03125 +0.375 0.9688 0.0625 +0.375 0.9688 0.09375 +0.375 0.9688 0.125 +0.375 0.9688 0.1562 +0.375 0.9688 0.1875 +0.375 0.9688 0.2188 +0.375 0.9688 0.25 +0.375 0.9688 0.2812 +0.375 0.9688 0.3125 +0.375 0.9688 0.3438 +0.375 0.9688 0.375 +0.375 0.9688 0.4062 +0.375 0.9688 0.4375 +0.375 0.9688 0.4688 +0.375 0.9688 0.5 +0.375 0.9688 0.5312 +0.375 0.9688 0.5625 +0.375 0.9688 0.5938 +0.375 0.9688 0.625 +0.375 0.9688 0.6562 +0.375 0.9688 0.6875 +0.375 0.9688 0.7188 +0.375 0.9688 0.75 +0.375 0.9688 0.7812 +0.375 0.9688 0.8125 +0.375 0.9688 0.8438 +0.375 0.9688 0.875 +0.375 0.9688 0.9062 +0.375 0.9688 0.9375 +0.375 0.9688 0.9688 +0.375 0.9688 1 +0.375 1 0 +0.375 1 0.03125 +0.375 1 0.0625 +0.375 1 0.09375 +0.375 1 0.125 +0.375 1 0.1562 +0.375 1 0.1875 +0.375 1 0.2188 +0.375 1 0.25 +0.375 1 0.2812 +0.375 1 0.3125 +0.375 1 0.3438 +0.375 1 0.375 +0.375 1 0.4062 +0.375 1 0.4375 +0.375 1 0.4688 +0.375 1 0.5 +0.375 1 0.5312 +0.375 1 0.5625 +0.375 1 0.5938 +0.375 1 0.625 +0.375 1 0.6562 +0.375 1 0.6875 +0.375 1 0.7188 +0.375 1 0.75 +0.375 1 0.7812 +0.375 1 0.8125 +0.375 1 0.8438 +0.375 1 0.875 +0.375 1 0.9062 +0.375 1 0.9375 +0.375 1 0.9688 +0.375 1 1 +0.4062 0 0 +0.4062 0 0.03125 +0.4062 0 0.0625 +0.4062 0 0.09375 +0.4062 0 0.125 +0.4062 0 0.1562 +0.4062 0 0.1875 +0.4062 0 0.2188 +0.4062 0 0.25 +0.4062 0 0.2812 +0.4062 0 0.3125 +0.4062 0 0.3438 +0.4062 0 0.375 +0.4062 0 0.4062 +0.4062 0 0.4375 +0.4062 0 0.4688 +0.4062 0 0.5 +0.4062 0 0.5312 +0.4062 0 0.5625 +0.4062 0 0.5938 +0.4062 0 0.625 +0.4062 0 0.6562 +0.4062 0 0.6875 +0.4062 0 0.7188 +0.4062 0 0.75 +0.4062 0 0.7812 +0.4062 0 0.8125 +0.4062 0 0.8438 +0.4062 0 0.875 +0.4062 0 0.9062 +0.4062 0 0.9375 +0.4062 0 0.9688 +0.4062 0 1 +0.4062 0.03125 0 +0.4062 0.03125 0.03125 +0.4062 0.03125 0.0625 +0.4062 0.03125 0.09375 +0.4062 0.03125 0.125 +0.4062 0.03125 0.1562 +0.4062 0.03125 0.1875 +0.4062 0.03125 0.2188 +0.4062 0.03125 0.25 +0.4062 0.03125 0.2812 +0.4062 0.03125 0.3125 +0.4062 0.03125 0.3438 +0.4062 0.03125 0.375 +0.4062 0.03125 0.4062 +0.4062 0.03125 0.4375 +0.4062 0.03125 0.4688 +0.4062 0.03125 0.5 +0.4062 0.03125 0.5312 +0.4062 0.03125 0.5625 +0.4062 0.03125 0.5938 +0.4062 0.03125 0.625 +0.4062 0.03125 0.6562 +0.4062 0.03125 0.6875 +0.4062 0.03125 0.7188 +0.4062 0.03125 0.75 +0.4062 0.03125 0.7812 +0.4062 0.03125 0.8125 +0.4062 0.03125 0.8438 +0.4062 0.03125 0.875 +0.4062 0.03125 0.9062 +0.4062 0.03125 0.9375 +0.4062 0.03125 0.9688 +0.4062 0.03125 1 +0.4062 0.0625 0 +0.4062 0.0625 0.03125 +0.4062 0.0625 0.0625 +0.4062 0.0625 0.09375 +0.4062 0.0625 0.125 +0.4062 0.0625 0.1562 +0.4062 0.0625 0.1875 +0.4062 0.0625 0.2188 +0.4062 0.0625 0.25 +0.4062 0.0625 0.2812 +0.4062 0.0625 0.3125 +0.4062 0.0625 0.3438 +0.4062 0.0625 0.375 +0.4062 0.0625 0.4062 +0.4062 0.0625 0.4375 +0.4062 0.0625 0.4688 +0.4062 0.0625 0.5 +0.4062 0.0625 0.5312 +0.4062 0.0625 0.5625 +0.4062 0.0625 0.5938 +0.4062 0.0625 0.625 +0.4062 0.0625 0.6562 +0.4062 0.0625 0.6875 +0.4062 0.0625 0.7188 +0.4062 0.0625 0.75 +0.4062 0.0625 0.7812 +0.4062 0.0625 0.8125 +0.4062 0.0625 0.8438 +0.4062 0.0625 0.875 +0.4062 0.0625 0.9062 +0.4062 0.0625 0.9375 +0.4062 0.0625 0.9688 +0.4062 0.0625 1 +0.4062 0.09375 0 +0.4062 0.09375 0.03125 +0.4062 0.09375 0.0625 +0.4062 0.09375 0.09375 +0.4062 0.09375 0.125 +0.4062 0.09375 0.1562 +0.4062 0.09375 0.1875 +0.4062 0.09375 0.2188 +0.4062 0.09375 0.25 +0.4062 0.09375 0.2812 +0.4062 0.09375 0.3125 +0.4062 0.09375 0.3438 +0.4062 0.09375 0.375 +0.4062 0.09375 0.4062 +0.4062 0.09375 0.4375 +0.4062 0.09375 0.4688 +0.4062 0.09375 0.5 +0.4062 0.09375 0.5312 +0.4062 0.09375 0.5625 +0.4062 0.09375 0.5938 +0.4062 0.09375 0.625 +0.4062 0.09375 0.6562 +0.4062 0.09375 0.6875 +0.4062 0.09375 0.7188 +0.4062 0.09375 0.75 +0.4062 0.09375 0.7812 +0.4062 0.09375 0.8125 +0.4062 0.09375 0.8438 +0.4062 0.09375 0.875 +0.4062 0.09375 0.9062 +0.4062 0.09375 0.9375 +0.4062 0.09375 0.9688 +0.4062 0.09375 1 +0.4062 0.125 0 +0.4062 0.125 0.03125 +0.4062 0.125 0.0625 +0.4062 0.125 0.09375 +0.4062 0.125 0.125 +0.4062 0.125 0.1562 +0.4062 0.125 0.1875 +0.4062 0.125 0.2188 +0.4062 0.125 0.25 +0.4062 0.125 0.2812 +0.4062 0.125 0.3125 +0.4062 0.125 0.3438 +0.4062 0.125 0.375 +0.4062 0.125 0.4062 +0.4062 0.125 0.4375 +0.4062 0.125 0.4688 +0.4062 0.125 0.5 +0.4062 0.125 0.5312 +0.4062 0.125 0.5625 +0.4062 0.125 0.5938 +0.4062 0.125 0.625 +0.4062 0.125 0.6562 +0.4062 0.125 0.6875 +0.4062 0.125 0.7188 +0.4062 0.125 0.75 +0.4062 0.125 0.7812 +0.4062 0.125 0.8125 +0.4062 0.125 0.8438 +0.4062 0.125 0.875 +0.4062 0.125 0.9062 +0.4062 0.125 0.9375 +0.4062 0.125 0.9688 +0.4062 0.125 1 +0.4062 0.1562 0 +0.4062 0.1562 0.03125 +0.4062 0.1562 0.0625 +0.4062 0.1562 0.09375 +0.4062 0.1562 0.125 +0.4062 0.1562 0.1562 +0.4062 0.1562 0.1875 +0.4062 0.1562 0.2188 +0.4062 0.1562 0.25 +0.4062 0.1562 0.2812 +0.4062 0.1562 0.3125 +0.4062 0.1562 0.3438 +0.4062 0.1562 0.375 +0.4062 0.1562 0.4062 +0.4062 0.1562 0.4375 +0.4062 0.1562 0.4688 +0.4062 0.1562 0.5 +0.4062 0.1562 0.5312 +0.4062 0.1562 0.5625 +0.4062 0.1562 0.5938 +0.4062 0.1562 0.625 +0.4062 0.1562 0.6562 +0.4062 0.1562 0.6875 +0.4062 0.1562 0.7188 +0.4062 0.1562 0.75 +0.4062 0.1562 0.7812 +0.4062 0.1562 0.8125 +0.4062 0.1562 0.8438 +0.4062 0.1562 0.875 +0.4062 0.1562 0.9062 +0.4062 0.1562 0.9375 +0.4062 0.1562 0.9688 +0.4062 0.1562 1 +0.4062 0.1875 0 +0.4062 0.1875 0.03125 +0.4062 0.1875 0.0625 +0.4062 0.1875 0.09375 +0.4062 0.1875 0.125 +0.4062 0.1875 0.1562 +0.4062 0.1875 0.1875 +0.4062 0.1875 0.2188 +0.4062 0.1875 0.25 +0.4062 0.1875 0.2812 +0.4062 0.1875 0.3125 +0.4062 0.1875 0.3438 +0.4062 0.1875 0.375 +0.4062 0.1875 0.4062 +0.4062 0.1875 0.4375 +0.4062 0.1875 0.4688 +0.4062 0.1875 0.5 +0.4062 0.1875 0.5312 +0.4062 0.1875 0.5625 +0.4062 0.1875 0.5938 +0.4062 0.1875 0.625 +0.4062 0.1875 0.6562 +0.4062 0.1875 0.6875 +0.4062 0.1875 0.7188 +0.4062 0.1875 0.75 +0.4062 0.1875 0.7812 +0.4062 0.1875 0.8125 +0.4062 0.1875 0.8438 +0.4062 0.1875 0.875 +0.4062 0.1875 0.9062 +0.4062 0.1875 0.9375 +0.4062 0.1875 0.9688 +0.4062 0.1875 1 +0.4062 0.2188 0 +0.4062 0.2188 0.03125 +0.4062 0.2188 0.0625 +0.4062 0.2188 0.09375 +0.4062 0.2188 0.125 +0.4062 0.2188 0.1562 +0.4062 0.2188 0.1875 +0.4062 0.2188 0.2188 +0.4062 0.2188 0.25 +0.4062 0.2188 0.2812 +0.4062 0.2188 0.3125 +0.4062 0.2188 0.3438 +0.4062 0.2188 0.375 +0.4062 0.2188 0.4062 +0.4062 0.2188 0.4375 +0.4062 0.2188 0.4688 +0.4062 0.2188 0.5 +0.4062 0.2188 0.5312 +0.4062 0.2188 0.5625 +0.4062 0.2188 0.5938 +0.4062 0.2188 0.625 +0.4062 0.2188 0.6562 +0.4062 0.2188 0.6875 +0.4062 0.2188 0.7188 +0.4062 0.2188 0.75 +0.4062 0.2188 0.7812 +0.4062 0.2188 0.8125 +0.4062 0.2188 0.8438 +0.4062 0.2188 0.875 +0.4062 0.2188 0.9062 +0.4062 0.2188 0.9375 +0.4062 0.2188 0.9688 +0.4062 0.2188 1 +0.4062 0.25 0 +0.4062 0.25 0.03125 +0.4062 0.25 0.0625 +0.4062 0.25 0.09375 +0.4062 0.25 0.125 +0.4062 0.25 0.1562 +0.4062 0.25 0.1875 +0.4062 0.25 0.2188 +0.4062 0.25 0.25 +0.4062 0.25 0.2812 +0.4062 0.25 0.3125 +0.4062 0.25 0.3438 +0.4062 0.25 0.375 +0.4062 0.25 0.4062 +0.4062 0.25 0.4375 +0.4062 0.25 0.4688 +0.4062 0.25 0.5 +0.4062 0.25 0.5312 +0.4062 0.25 0.5625 +0.4062 0.25 0.5938 +0.4062 0.25 0.625 +0.4062 0.25 0.6562 +0.4062 0.25 0.6875 +0.4062 0.25 0.7188 +0.4062 0.25 0.75 +0.4062 0.25 0.7812 +0.4062 0.25 0.8125 +0.4062 0.25 0.8438 +0.4062 0.25 0.875 +0.4062 0.25 0.9062 +0.4062 0.25 0.9375 +0.4062 0.25 0.9688 +0.4062 0.25 1 +0.4062 0.2812 0 +0.4062 0.2812 0.03125 +0.4062 0.2812 0.0625 +0.4062 0.2812 0.09375 +0.4062 0.2812 0.125 +0.4062 0.2812 0.1562 +0.4062 0.2812 0.1875 +0.4062 0.2812 0.2188 +0.4062 0.2812 0.25 +0.4062 0.2812 0.2812 +0.4062 0.2812 0.3125 +0.4062 0.2812 0.3438 +0.4062 0.2812 0.375 +0.4062 0.2812 0.4062 +0.4062 0.2812 0.4375 +0.4062 0.2812 0.4688 +0.4062 0.2812 0.5 +0.4062 0.2812 0.5312 +0.4062 0.2812 0.5625 +0.4062 0.2812 0.5938 +0.4062 0.2812 0.625 +0.4062 0.2812 0.6562 +0.4062 0.2812 0.6875 +0.4062 0.2812 0.7188 +0.4062 0.2812 0.75 +0.4062 0.2812 0.7812 +0.4062 0.2812 0.8125 +0.4062 0.2812 0.8438 +0.4062 0.2812 0.875 +0.4062 0.2812 0.9062 +0.4062 0.2812 0.9375 +0.4062 0.2812 0.9688 +0.4062 0.2812 1 +0.4062 0.3125 0 +0.4062 0.3125 0.03125 +0.4062 0.3125 0.0625 +0.4062 0.3125 0.09375 +0.4062 0.3125 0.125 +0.4062 0.3125 0.1562 +0.4062 0.3125 0.1875 +0.4062 0.3125 0.2188 +0.4062 0.3125 0.25 +0.4062 0.3125 0.2812 +0.4062 0.3125 0.3125 +0.4062 0.3125 0.3438 +0.4062 0.3125 0.375 +0.4062 0.3125 0.4062 +0.4062 0.3125 0.4375 +0.4062 0.3125 0.4688 +0.4062 0.3125 0.5 +0.4062 0.3125 0.5312 +0.4062 0.3125 0.5625 +0.4062 0.3125 0.5938 +0.4062 0.3125 0.625 +0.4062 0.3125 0.6562 +0.4062 0.3125 0.6875 +0.4062 0.3125 0.7188 +0.4062 0.3125 0.75 +0.4062 0.3125 0.7812 +0.4062 0.3125 0.8125 +0.4062 0.3125 0.8438 +0.4062 0.3125 0.875 +0.4062 0.3125 0.9062 +0.4062 0.3125 0.9375 +0.4062 0.3125 0.9688 +0.4062 0.3125 1 +0.4062 0.3438 0 +0.4062 0.3438 0.03125 +0.4062 0.3438 0.0625 +0.4062 0.3438 0.09375 +0.4062 0.3438 0.125 +0.4062 0.3438 0.1562 +0.4062 0.3438 0.1875 +0.4062 0.3438 0.2188 +0.4062 0.3438 0.25 +0.4062 0.3438 0.2812 +0.4062 0.3438 0.3125 +0.4062 0.3438 0.3438 +0.4062 0.3438 0.375 +0.4062 0.3438 0.4062 +0.4062 0.3438 0.4375 +0.4062 0.3438 0.4688 +0.4062 0.3438 0.5 +0.4062 0.3438 0.5312 +0.4062 0.3438 0.5625 +0.4062 0.3438 0.5938 +0.4062 0.3438 0.625 +0.4062 0.3438 0.6562 +0.4062 0.3438 0.6875 +0.4062 0.3438 0.7188 +0.4062 0.3438 0.75 +0.4062 0.3438 0.7812 +0.4062 0.3438 0.8125 +0.4062 0.3438 0.8438 +0.4062 0.3438 0.875 +0.4062 0.3438 0.9062 +0.4062 0.3438 0.9375 +0.4062 0.3438 0.9688 +0.4062 0.3438 1 +0.4062 0.375 0 +0.4062 0.375 0.03125 +0.4062 0.375 0.0625 +0.4062 0.375 0.09375 +0.4062 0.375 0.125 +0.4062 0.375 0.1562 +0.4062 0.375 0.1875 +0.4062 0.375 0.2188 +0.4062 0.375 0.25 +0.4062 0.375 0.2812 +0.4062 0.375 0.3125 +0.4062 0.375 0.3438 +0.4062 0.375 0.375 +0.4062 0.375 0.4062 +0.4062 0.375 0.4375 +0.4062 0.375 0.4688 +0.4062 0.375 0.5 +0.4062 0.375 0.5312 +0.4062 0.375 0.5625 +0.4062 0.375 0.5938 +0.4062 0.375 0.625 +0.4062 0.375 0.6562 +0.4062 0.375 0.6875 +0.4062 0.375 0.7188 +0.4062 0.375 0.75 +0.4062 0.375 0.7812 +0.4062 0.375 0.8125 +0.4062 0.375 0.8438 +0.4062 0.375 0.875 +0.4062 0.375 0.9062 +0.4062 0.375 0.9375 +0.4062 0.375 0.9688 +0.4062 0.375 1 +0.4062 0.4062 0 +0.4062 0.4062 0.03125 +0.4062 0.4062 0.0625 +0.4062 0.4062 0.09375 +0.4062 0.4062 0.125 +0.4062 0.4062 0.1562 +0.4062 0.4062 0.1875 +0.4062 0.4062 0.2188 +0.4062 0.4062 0.25 +0.4062 0.4062 0.2812 +0.4062 0.4062 0.3125 +0.4062 0.4062 0.3438 +0.4062 0.4062 0.375 +0.4062 0.4062 0.4062 +0.4062 0.4062 0.4375 +0.4062 0.4062 0.4688 +0.4062 0.4062 0.5 +0.4062 0.4062 0.5312 +0.4062 0.4062 0.5625 +0.4062 0.4062 0.5938 +0.4062 0.4062 0.625 +0.4062 0.4062 0.6562 +0.4062 0.4062 0.6875 +0.4062 0.4062 0.7188 +0.4062 0.4062 0.75 +0.4062 0.4062 0.7812 +0.4062 0.4062 0.8125 +0.4062 0.4062 0.8438 +0.4062 0.4062 0.875 +0.4062 0.4062 0.9062 +0.4062 0.4062 0.9375 +0.4062 0.4062 0.9688 +0.4062 0.4062 1 +0.4062 0.4375 0 +0.4062 0.4375 0.03125 +0.4062 0.4375 0.0625 +0.4062 0.4375 0.09375 +0.4062 0.4375 0.125 +0.4062 0.4375 0.1562 +0.4062 0.4375 0.1875 +0.4062 0.4375 0.2188 +0.4062 0.4375 0.25 +0.4062 0.4375 0.2812 +0.4062 0.4375 0.3125 +0.4062 0.4375 0.3438 +0.4062 0.4375 0.375 +0.4062 0.4375 0.4062 +0.4062 0.4375 0.4375 +0.4062 0.4375 0.4688 +0.4062 0.4375 0.5 +0.4062 0.4375 0.5312 +0.4062 0.4375 0.5625 +0.4062 0.4375 0.5938 +0.4062 0.4375 0.625 +0.4062 0.4375 0.6562 +0.4062 0.4375 0.6875 +0.4062 0.4375 0.7188 +0.4062 0.4375 0.75 +0.4062 0.4375 0.7812 +0.4062 0.4375 0.8125 +0.4062 0.4375 0.8438 +0.4062 0.4375 0.875 +0.4062 0.4375 0.9062 +0.4062 0.4375 0.9375 +0.4062 0.4375 0.9688 +0.4062 0.4375 1 +0.4062 0.4688 0 +0.4062 0.4688 0.03125 +0.4062 0.4688 0.0625 +0.4062 0.4688 0.09375 +0.4062 0.4688 0.125 +0.4062 0.4688 0.1562 +0.4062 0.4688 0.1875 +0.4062 0.4688 0.2188 +0.4062 0.4688 0.25 +0.4062 0.4688 0.2812 +0.4062 0.4688 0.3125 +0.4062 0.4688 0.3438 +0.4062 0.4688 0.375 +0.4062 0.4688 0.4062 +0.4062 0.4688 0.4375 +0.4062 0.4688 0.4688 +0.4062 0.4688 0.5 +0.4062 0.4688 0.5312 +0.4062 0.4688 0.5625 +0.4062 0.4688 0.5938 +0.4062 0.4688 0.625 +0.4062 0.4688 0.6562 +0.4062 0.4688 0.6875 +0.4062 0.4688 0.7188 +0.4062 0.4688 0.75 +0.4062 0.4688 0.7812 +0.4062 0.4688 0.8125 +0.4062 0.4688 0.8438 +0.4062 0.4688 0.875 +0.4062 0.4688 0.9062 +0.4062 0.4688 0.9375 +0.4062 0.4688 0.9688 +0.4062 0.4688 1 +0.4062 0.5 0 +0.4062 0.5 0.03125 +0.4062 0.5 0.0625 +0.4062 0.5 0.09375 +0.4062 0.5 0.125 +0.4062 0.5 0.1562 +0.4062 0.5 0.1875 +0.4062 0.5 0.2188 +0.4062 0.5 0.25 +0.4062 0.5 0.2812 +0.4062 0.5 0.3125 +0.4062 0.5 0.3438 +0.4062 0.5 0.375 +0.4062 0.5 0.4062 +0.4062 0.5 0.4375 +0.4062 0.5 0.4688 +0.4062 0.5 0.5 +0.4062 0.5 0.5312 +0.4062 0.5 0.5625 +0.4062 0.5 0.5938 +0.4062 0.5 0.625 +0.4062 0.5 0.6562 +0.4062 0.5 0.6875 +0.4062 0.5 0.7188 +0.4062 0.5 0.75 +0.4062 0.5 0.7812 +0.4062 0.5 0.8125 +0.4062 0.5 0.8438 +0.4062 0.5 0.875 +0.4062 0.5 0.9062 +0.4062 0.5 0.9375 +0.4062 0.5 0.9688 +0.4062 0.5 1 +0.4062 0.5312 0 +0.4062 0.5312 0.03125 +0.4062 0.5312 0.0625 +0.4062 0.5312 0.09375 +0.4062 0.5312 0.125 +0.4062 0.5312 0.1562 +0.4062 0.5312 0.1875 +0.4062 0.5312 0.2188 +0.4062 0.5312 0.25 +0.4062 0.5312 0.2812 +0.4062 0.5312 0.3125 +0.4062 0.5312 0.3438 +0.4062 0.5312 0.375 +0.4062 0.5312 0.4062 +0.4062 0.5312 0.4375 +0.4062 0.5312 0.4688 +0.4062 0.5312 0.5 +0.4062 0.5312 0.5312 +0.4062 0.5312 0.5625 +0.4062 0.5312 0.5938 +0.4062 0.5312 0.625 +0.4062 0.5312 0.6562 +0.4062 0.5312 0.6875 +0.4062 0.5312 0.7188 +0.4062 0.5312 0.75 +0.4062 0.5312 0.7812 +0.4062 0.5312 0.8125 +0.4062 0.5312 0.8438 +0.4062 0.5312 0.875 +0.4062 0.5312 0.9062 +0.4062 0.5312 0.9375 +0.4062 0.5312 0.9688 +0.4062 0.5312 1 +0.4062 0.5625 0 +0.4062 0.5625 0.03125 +0.4062 0.5625 0.0625 +0.4062 0.5625 0.09375 +0.4062 0.5625 0.125 +0.4062 0.5625 0.1562 +0.4062 0.5625 0.1875 +0.4062 0.5625 0.2188 +0.4062 0.5625 0.25 +0.4062 0.5625 0.2812 +0.4062 0.5625 0.3125 +0.4062 0.5625 0.3438 +0.4062 0.5625 0.375 +0.4062 0.5625 0.4062 +0.4062 0.5625 0.4375 +0.4062 0.5625 0.4688 +0.4062 0.5625 0.5 +0.4062 0.5625 0.5312 +0.4062 0.5625 0.5625 +0.4062 0.5625 0.5938 +0.4062 0.5625 0.625 +0.4062 0.5625 0.6562 +0.4062 0.5625 0.6875 +0.4062 0.5625 0.7188 +0.4062 0.5625 0.75 +0.4062 0.5625 0.7812 +0.4062 0.5625 0.8125 +0.4062 0.5625 0.8438 +0.4062 0.5625 0.875 +0.4062 0.5625 0.9062 +0.4062 0.5625 0.9375 +0.4062 0.5625 0.9688 +0.4062 0.5625 1 +0.4062 0.5938 0 +0.4062 0.5938 0.03125 +0.4062 0.5938 0.0625 +0.4062 0.5938 0.09375 +0.4062 0.5938 0.125 +0.4062 0.5938 0.1562 +0.4062 0.5938 0.1875 +0.4062 0.5938 0.2188 +0.4062 0.5938 0.25 +0.4062 0.5938 0.2812 +0.4062 0.5938 0.3125 +0.4062 0.5938 0.3438 +0.4062 0.5938 0.375 +0.4062 0.5938 0.4062 +0.4062 0.5938 0.4375 +0.4062 0.5938 0.4688 +0.4062 0.5938 0.5 +0.4062 0.5938 0.5312 +0.4062 0.5938 0.5625 +0.4062 0.5938 0.5938 +0.4062 0.5938 0.625 +0.4062 0.5938 0.6562 +0.4062 0.5938 0.6875 +0.4062 0.5938 0.7188 +0.4062 0.5938 0.75 +0.4062 0.5938 0.7812 +0.4062 0.5938 0.8125 +0.4062 0.5938 0.8438 +0.4062 0.5938 0.875 +0.4062 0.5938 0.9062 +0.4062 0.5938 0.9375 +0.4062 0.5938 0.9688 +0.4062 0.5938 1 +0.4062 0.625 0 +0.4062 0.625 0.03125 +0.4062 0.625 0.0625 +0.4062 0.625 0.09375 +0.4062 0.625 0.125 +0.4062 0.625 0.1562 +0.4062 0.625 0.1875 +0.4062 0.625 0.2188 +0.4062 0.625 0.25 +0.4062 0.625 0.2812 +0.4062 0.625 0.3125 +0.4062 0.625 0.3438 +0.4062 0.625 0.375 +0.4062 0.625 0.4062 +0.4062 0.625 0.4375 +0.4062 0.625 0.4688 +0.4062 0.625 0.5 +0.4062 0.625 0.5312 +0.4062 0.625 0.5625 +0.4062 0.625 0.5938 +0.4062 0.625 0.625 +0.4062 0.625 0.6562 +0.4062 0.625 0.6875 +0.4062 0.625 0.7188 +0.4062 0.625 0.75 +0.4062 0.625 0.7812 +0.4062 0.625 0.8125 +0.4062 0.625 0.8438 +0.4062 0.625 0.875 +0.4062 0.625 0.9062 +0.4062 0.625 0.9375 +0.4062 0.625 0.9688 +0.4062 0.625 1 +0.4062 0.6562 0 +0.4062 0.6562 0.03125 +0.4062 0.6562 0.0625 +0.4062 0.6562 0.09375 +0.4062 0.6562 0.125 +0.4062 0.6562 0.1562 +0.4062 0.6562 0.1875 +0.4062 0.6562 0.2188 +0.4062 0.6562 0.25 +0.4062 0.6562 0.2812 +0.4062 0.6562 0.3125 +0.4062 0.6562 0.3438 +0.4062 0.6562 0.375 +0.4062 0.6562 0.4062 +0.4062 0.6562 0.4375 +0.4062 0.6562 0.4688 +0.4062 0.6562 0.5 +0.4062 0.6562 0.5312 +0.4062 0.6562 0.5625 +0.4062 0.6562 0.5938 +0.4062 0.6562 0.625 +0.4062 0.6562 0.6562 +0.4062 0.6562 0.6875 +0.4062 0.6562 0.7188 +0.4062 0.6562 0.75 +0.4062 0.6562 0.7812 +0.4062 0.6562 0.8125 +0.4062 0.6562 0.8438 +0.4062 0.6562 0.875 +0.4062 0.6562 0.9062 +0.4062 0.6562 0.9375 +0.4062 0.6562 0.9688 +0.4062 0.6562 1 +0.4062 0.6875 0 +0.4062 0.6875 0.03125 +0.4062 0.6875 0.0625 +0.4062 0.6875 0.09375 +0.4062 0.6875 0.125 +0.4062 0.6875 0.1562 +0.4062 0.6875 0.1875 +0.4062 0.6875 0.2188 +0.4062 0.6875 0.25 +0.4062 0.6875 0.2812 +0.4062 0.6875 0.3125 +0.4062 0.6875 0.3438 +0.4062 0.6875 0.375 +0.4062 0.6875 0.4062 +0.4062 0.6875 0.4375 +0.4062 0.6875 0.4688 +0.4062 0.6875 0.5 +0.4062 0.6875 0.5312 +0.4062 0.6875 0.5625 +0.4062 0.6875 0.5938 +0.4062 0.6875 0.625 +0.4062 0.6875 0.6562 +0.4062 0.6875 0.6875 +0.4062 0.6875 0.7188 +0.4062 0.6875 0.75 +0.4062 0.6875 0.7812 +0.4062 0.6875 0.8125 +0.4062 0.6875 0.8438 +0.4062 0.6875 0.875 +0.4062 0.6875 0.9062 +0.4062 0.6875 0.9375 +0.4062 0.6875 0.9688 +0.4062 0.6875 1 +0.4062 0.7188 0 +0.4062 0.7188 0.03125 +0.4062 0.7188 0.0625 +0.4062 0.7188 0.09375 +0.4062 0.7188 0.125 +0.4062 0.7188 0.1562 +0.4062 0.7188 0.1875 +0.4062 0.7188 0.2188 +0.4062 0.7188 0.25 +0.4062 0.7188 0.2812 +0.4062 0.7188 0.3125 +0.4062 0.7188 0.3438 +0.4062 0.7188 0.375 +0.4062 0.7188 0.4062 +0.4062 0.7188 0.4375 +0.4062 0.7188 0.4688 +0.4062 0.7188 0.5 +0.4062 0.7188 0.5312 +0.4062 0.7188 0.5625 +0.4062 0.7188 0.5938 +0.4062 0.7188 0.625 +0.4062 0.7188 0.6562 +0.4062 0.7188 0.6875 +0.4062 0.7188 0.7188 +0.4062 0.7188 0.75 +0.4062 0.7188 0.7812 +0.4062 0.7188 0.8125 +0.4062 0.7188 0.8438 +0.4062 0.7188 0.875 +0.4062 0.7188 0.9062 +0.4062 0.7188 0.9375 +0.4062 0.7188 0.9688 +0.4062 0.7188 1 +0.4062 0.75 0 +0.4062 0.75 0.03125 +0.4062 0.75 0.0625 +0.4062 0.75 0.09375 +0.4062 0.75 0.125 +0.4062 0.75 0.1562 +0.4062 0.75 0.1875 +0.4062 0.75 0.2188 +0.4062 0.75 0.25 +0.4062 0.75 0.2812 +0.4062 0.75 0.3125 +0.4062 0.75 0.3438 +0.4062 0.75 0.375 +0.4062 0.75 0.4062 +0.4062 0.75 0.4375 +0.4062 0.75 0.4688 +0.4062 0.75 0.5 +0.4062 0.75 0.5312 +0.4062 0.75 0.5625 +0.4062 0.75 0.5938 +0.4062 0.75 0.625 +0.4062 0.75 0.6562 +0.4062 0.75 0.6875 +0.4062 0.75 0.7188 +0.4062 0.75 0.75 +0.4062 0.75 0.7812 +0.4062 0.75 0.8125 +0.4062 0.75 0.8438 +0.4062 0.75 0.875 +0.4062 0.75 0.9062 +0.4062 0.75 0.9375 +0.4062 0.75 0.9688 +0.4062 0.75 1 +0.4062 0.7812 0 +0.4062 0.7812 0.03125 +0.4062 0.7812 0.0625 +0.4062 0.7812 0.09375 +0.4062 0.7812 0.125 +0.4062 0.7812 0.1562 +0.4062 0.7812 0.1875 +0.4062 0.7812 0.2188 +0.4062 0.7812 0.25 +0.4062 0.7812 0.2812 +0.4062 0.7812 0.3125 +0.4062 0.7812 0.3438 +0.4062 0.7812 0.375 +0.4062 0.7812 0.4062 +0.4062 0.7812 0.4375 +0.4062 0.7812 0.4688 +0.4062 0.7812 0.5 +0.4062 0.7812 0.5312 +0.4062 0.7812 0.5625 +0.4062 0.7812 0.5938 +0.4062 0.7812 0.625 +0.4062 0.7812 0.6562 +0.4062 0.7812 0.6875 +0.4062 0.7812 0.7188 +0.4062 0.7812 0.75 +0.4062 0.7812 0.7812 +0.4062 0.7812 0.8125 +0.4062 0.7812 0.8438 +0.4062 0.7812 0.875 +0.4062 0.7812 0.9062 +0.4062 0.7812 0.9375 +0.4062 0.7812 0.9688 +0.4062 0.7812 1 +0.4062 0.8125 0 +0.4062 0.8125 0.03125 +0.4062 0.8125 0.0625 +0.4062 0.8125 0.09375 +0.4062 0.8125 0.125 +0.4062 0.8125 0.1562 +0.4062 0.8125 0.1875 +0.4062 0.8125 0.2188 +0.4062 0.8125 0.25 +0.4062 0.8125 0.2812 +0.4062 0.8125 0.3125 +0.4062 0.8125 0.3438 +0.4062 0.8125 0.375 +0.4062 0.8125 0.4062 +0.4062 0.8125 0.4375 +0.4062 0.8125 0.4688 +0.4062 0.8125 0.5 +0.4062 0.8125 0.5312 +0.4062 0.8125 0.5625 +0.4062 0.8125 0.5938 +0.4062 0.8125 0.625 +0.4062 0.8125 0.6562 +0.4062 0.8125 0.6875 +0.4062 0.8125 0.7188 +0.4062 0.8125 0.75 +0.4062 0.8125 0.7812 +0.4062 0.8125 0.8125 +0.4062 0.8125 0.8438 +0.4062 0.8125 0.875 +0.4062 0.8125 0.9062 +0.4062 0.8125 0.9375 +0.4062 0.8125 0.9688 +0.4062 0.8125 1 +0.4062 0.8438 0 +0.4062 0.8438 0.03125 +0.4062 0.8438 0.0625 +0.4062 0.8438 0.09375 +0.4062 0.8438 0.125 +0.4062 0.8438 0.1562 +0.4062 0.8438 0.1875 +0.4062 0.8438 0.2188 +0.4062 0.8438 0.25 +0.4062 0.8438 0.2812 +0.4062 0.8438 0.3125 +0.4062 0.8438 0.3438 +0.4062 0.8438 0.375 +0.4062 0.8438 0.4062 +0.4062 0.8438 0.4375 +0.4062 0.8438 0.4688 +0.4062 0.8438 0.5 +0.4062 0.8438 0.5312 +0.4062 0.8438 0.5625 +0.4062 0.8438 0.5938 +0.4062 0.8438 0.625 +0.4062 0.8438 0.6562 +0.4062 0.8438 0.6875 +0.4062 0.8438 0.7188 +0.4062 0.8438 0.75 +0.4062 0.8438 0.7812 +0.4062 0.8438 0.8125 +0.4062 0.8438 0.8438 +0.4062 0.8438 0.875 +0.4062 0.8438 0.9062 +0.4062 0.8438 0.9375 +0.4062 0.8438 0.9688 +0.4062 0.8438 1 +0.4062 0.875 0 +0.4062 0.875 0.03125 +0.4062 0.875 0.0625 +0.4062 0.875 0.09375 +0.4062 0.875 0.125 +0.4062 0.875 0.1562 +0.4062 0.875 0.1875 +0.4062 0.875 0.2188 +0.4062 0.875 0.25 +0.4062 0.875 0.2812 +0.4062 0.875 0.3125 +0.4062 0.875 0.3438 +0.4062 0.875 0.375 +0.4062 0.875 0.4062 +0.4062 0.875 0.4375 +0.4062 0.875 0.4688 +0.4062 0.875 0.5 +0.4062 0.875 0.5312 +0.4062 0.875 0.5625 +0.4062 0.875 0.5938 +0.4062 0.875 0.625 +0.4062 0.875 0.6562 +0.4062 0.875 0.6875 +0.4062 0.875 0.7188 +0.4062 0.875 0.75 +0.4062 0.875 0.7812 +0.4062 0.875 0.8125 +0.4062 0.875 0.8438 +0.4062 0.875 0.875 +0.4062 0.875 0.9062 +0.4062 0.875 0.9375 +0.4062 0.875 0.9688 +0.4062 0.875 1 +0.4062 0.9062 0 +0.4062 0.9062 0.03125 +0.4062 0.9062 0.0625 +0.4062 0.9062 0.09375 +0.4062 0.9062 0.125 +0.4062 0.9062 0.1562 +0.4062 0.9062 0.1875 +0.4062 0.9062 0.2188 +0.4062 0.9062 0.25 +0.4062 0.9062 0.2812 +0.4062 0.9062 0.3125 +0.4062 0.9062 0.3438 +0.4062 0.9062 0.375 +0.4062 0.9062 0.4062 +0.4062 0.9062 0.4375 +0.4062 0.9062 0.4688 +0.4062 0.9062 0.5 +0.4062 0.9062 0.5312 +0.4062 0.9062 0.5625 +0.4062 0.9062 0.5938 +0.4062 0.9062 0.625 +0.4062 0.9062 0.6562 +0.4062 0.9062 0.6875 +0.4062 0.9062 0.7188 +0.4062 0.9062 0.75 +0.4062 0.9062 0.7812 +0.4062 0.9062 0.8125 +0.4062 0.9062 0.8438 +0.4062 0.9062 0.875 +0.4062 0.9062 0.9062 +0.4062 0.9062 0.9375 +0.4062 0.9062 0.9688 +0.4062 0.9062 1 +0.4062 0.9375 0 +0.4062 0.9375 0.03125 +0.4062 0.9375 0.0625 +0.4062 0.9375 0.09375 +0.4062 0.9375 0.125 +0.4062 0.9375 0.1562 +0.4062 0.9375 0.1875 +0.4062 0.9375 0.2188 +0.4062 0.9375 0.25 +0.4062 0.9375 0.2812 +0.4062 0.9375 0.3125 +0.4062 0.9375 0.3438 +0.4062 0.9375 0.375 +0.4062 0.9375 0.4062 +0.4062 0.9375 0.4375 +0.4062 0.9375 0.4688 +0.4062 0.9375 0.5 +0.4062 0.9375 0.5312 +0.4062 0.9375 0.5625 +0.4062 0.9375 0.5938 +0.4062 0.9375 0.625 +0.4062 0.9375 0.6562 +0.4062 0.9375 0.6875 +0.4062 0.9375 0.7188 +0.4062 0.9375 0.75 +0.4062 0.9375 0.7812 +0.4062 0.9375 0.8125 +0.4062 0.9375 0.8438 +0.4062 0.9375 0.875 +0.4062 0.9375 0.9062 +0.4062 0.9375 0.9375 +0.4062 0.9375 0.9688 +0.4062 0.9375 1 +0.4062 0.9688 0 +0.4062 0.9688 0.03125 +0.4062 0.9688 0.0625 +0.4062 0.9688 0.09375 +0.4062 0.9688 0.125 +0.4062 0.9688 0.1562 +0.4062 0.9688 0.1875 +0.4062 0.9688 0.2188 +0.4062 0.9688 0.25 +0.4062 0.9688 0.2812 +0.4062 0.9688 0.3125 +0.4062 0.9688 0.3438 +0.4062 0.9688 0.375 +0.4062 0.9688 0.4062 +0.4062 0.9688 0.4375 +0.4062 0.9688 0.4688 +0.4062 0.9688 0.5 +0.4062 0.9688 0.5312 +0.4062 0.9688 0.5625 +0.4062 0.9688 0.5938 +0.4062 0.9688 0.625 +0.4062 0.9688 0.6562 +0.4062 0.9688 0.6875 +0.4062 0.9688 0.7188 +0.4062 0.9688 0.75 +0.4062 0.9688 0.7812 +0.4062 0.9688 0.8125 +0.4062 0.9688 0.8438 +0.4062 0.9688 0.875 +0.4062 0.9688 0.9062 +0.4062 0.9688 0.9375 +0.4062 0.9688 0.9688 +0.4062 0.9688 1 +0.4062 1 0 +0.4062 1 0.03125 +0.4062 1 0.0625 +0.4062 1 0.09375 +0.4062 1 0.125 +0.4062 1 0.1562 +0.4062 1 0.1875 +0.4062 1 0.2188 +0.4062 1 0.25 +0.4062 1 0.2812 +0.4062 1 0.3125 +0.4062 1 0.3438 +0.4062 1 0.375 +0.4062 1 0.4062 +0.4062 1 0.4375 +0.4062 1 0.4688 +0.4062 1 0.5 +0.4062 1 0.5312 +0.4062 1 0.5625 +0.4062 1 0.5938 +0.4062 1 0.625 +0.4062 1 0.6562 +0.4062 1 0.6875 +0.4062 1 0.7188 +0.4062 1 0.75 +0.4062 1 0.7812 +0.4062 1 0.8125 +0.4062 1 0.8438 +0.4062 1 0.875 +0.4062 1 0.9062 +0.4062 1 0.9375 +0.4062 1 0.9688 +0.4062 1 1 +0.4375 0 0 +0.4375 0 0.03125 +0.4375 0 0.0625 +0.4375 0 0.09375 +0.4375 0 0.125 +0.4375 0 0.1562 +0.4375 0 0.1875 +0.4375 0 0.2188 +0.4375 0 0.25 +0.4375 0 0.2812 +0.4375 0 0.3125 +0.4375 0 0.3438 +0.4375 0 0.375 +0.4375 0 0.4062 +0.4375 0 0.4375 +0.4375 0 0.4688 +0.4375 0 0.5 +0.4375 0 0.5312 +0.4375 0 0.5625 +0.4375 0 0.5938 +0.4375 0 0.625 +0.4375 0 0.6562 +0.4375 0 0.6875 +0.4375 0 0.7188 +0.4375 0 0.75 +0.4375 0 0.7812 +0.4375 0 0.8125 +0.4375 0 0.8438 +0.4375 0 0.875 +0.4375 0 0.9062 +0.4375 0 0.9375 +0.4375 0 0.9688 +0.4375 0 1 +0.4375 0.03125 0 +0.4375 0.03125 0.03125 +0.4375 0.03125 0.0625 +0.4375 0.03125 0.09375 +0.4375 0.03125 0.125 +0.4375 0.03125 0.1562 +0.4375 0.03125 0.1875 +0.4375 0.03125 0.2188 +0.4375 0.03125 0.25 +0.4375 0.03125 0.2812 +0.4375 0.03125 0.3125 +0.4375 0.03125 0.3438 +0.4375 0.03125 0.375 +0.4375 0.03125 0.4062 +0.4375 0.03125 0.4375 +0.4375 0.03125 0.4688 +0.4375 0.03125 0.5 +0.4375 0.03125 0.5312 +0.4375 0.03125 0.5625 +0.4375 0.03125 0.5938 +0.4375 0.03125 0.625 +0.4375 0.03125 0.6562 +0.4375 0.03125 0.6875 +0.4375 0.03125 0.7188 +0.4375 0.03125 0.75 +0.4375 0.03125 0.7812 +0.4375 0.03125 0.8125 +0.4375 0.03125 0.8438 +0.4375 0.03125 0.875 +0.4375 0.03125 0.9062 +0.4375 0.03125 0.9375 +0.4375 0.03125 0.9688 +0.4375 0.03125 1 +0.4375 0.0625 0 +0.4375 0.0625 0.03125 +0.4375 0.0625 0.0625 +0.4375 0.0625 0.09375 +0.4375 0.0625 0.125 +0.4375 0.0625 0.1562 +0.4375 0.0625 0.1875 +0.4375 0.0625 0.2188 +0.4375 0.0625 0.25 +0.4375 0.0625 0.2812 +0.4375 0.0625 0.3125 +0.4375 0.0625 0.3438 +0.4375 0.0625 0.375 +0.4375 0.0625 0.4062 +0.4375 0.0625 0.4375 +0.4375 0.0625 0.4688 +0.4375 0.0625 0.5 +0.4375 0.0625 0.5312 +0.4375 0.0625 0.5625 +0.4375 0.0625 0.5938 +0.4375 0.0625 0.625 +0.4375 0.0625 0.6562 +0.4375 0.0625 0.6875 +0.4375 0.0625 0.7188 +0.4375 0.0625 0.75 +0.4375 0.0625 0.7812 +0.4375 0.0625 0.8125 +0.4375 0.0625 0.8438 +0.4375 0.0625 0.875 +0.4375 0.0625 0.9062 +0.4375 0.0625 0.9375 +0.4375 0.0625 0.9688 +0.4375 0.0625 1 +0.4375 0.09375 0 +0.4375 0.09375 0.03125 +0.4375 0.09375 0.0625 +0.4375 0.09375 0.09375 +0.4375 0.09375 0.125 +0.4375 0.09375 0.1562 +0.4375 0.09375 0.1875 +0.4375 0.09375 0.2188 +0.4375 0.09375 0.25 +0.4375 0.09375 0.2812 +0.4375 0.09375 0.3125 +0.4375 0.09375 0.3438 +0.4375 0.09375 0.375 +0.4375 0.09375 0.4062 +0.4375 0.09375 0.4375 +0.4375 0.09375 0.4688 +0.4375 0.09375 0.5 +0.4375 0.09375 0.5312 +0.4375 0.09375 0.5625 +0.4375 0.09375 0.5938 +0.4375 0.09375 0.625 +0.4375 0.09375 0.6562 +0.4375 0.09375 0.6875 +0.4375 0.09375 0.7188 +0.4375 0.09375 0.75 +0.4375 0.09375 0.7812 +0.4375 0.09375 0.8125 +0.4375 0.09375 0.8438 +0.4375 0.09375 0.875 +0.4375 0.09375 0.9062 +0.4375 0.09375 0.9375 +0.4375 0.09375 0.9688 +0.4375 0.09375 1 +0.4375 0.125 0 +0.4375 0.125 0.03125 +0.4375 0.125 0.0625 +0.4375 0.125 0.09375 +0.4375 0.125 0.125 +0.4375 0.125 0.1562 +0.4375 0.125 0.1875 +0.4375 0.125 0.2188 +0.4375 0.125 0.25 +0.4375 0.125 0.2812 +0.4375 0.125 0.3125 +0.4375 0.125 0.3438 +0.4375 0.125 0.375 +0.4375 0.125 0.4062 +0.4375 0.125 0.4375 +0.4375 0.125 0.4688 +0.4375 0.125 0.5 +0.4375 0.125 0.5312 +0.4375 0.125 0.5625 +0.4375 0.125 0.5938 +0.4375 0.125 0.625 +0.4375 0.125 0.6562 +0.4375 0.125 0.6875 +0.4375 0.125 0.7188 +0.4375 0.125 0.75 +0.4375 0.125 0.7812 +0.4375 0.125 0.8125 +0.4375 0.125 0.8438 +0.4375 0.125 0.875 +0.4375 0.125 0.9062 +0.4375 0.125 0.9375 +0.4375 0.125 0.9688 +0.4375 0.125 1 +0.4375 0.1562 0 +0.4375 0.1562 0.03125 +0.4375 0.1562 0.0625 +0.4375 0.1562 0.09375 +0.4375 0.1562 0.125 +0.4375 0.1562 0.1562 +0.4375 0.1562 0.1875 +0.4375 0.1562 0.2188 +0.4375 0.1562 0.25 +0.4375 0.1562 0.2812 +0.4375 0.1562 0.3125 +0.4375 0.1562 0.3438 +0.4375 0.1562 0.375 +0.4375 0.1562 0.4062 +0.4375 0.1562 0.4375 +0.4375 0.1562 0.4688 +0.4375 0.1562 0.5 +0.4375 0.1562 0.5312 +0.4375 0.1562 0.5625 +0.4375 0.1562 0.5938 +0.4375 0.1562 0.625 +0.4375 0.1562 0.6562 +0.4375 0.1562 0.6875 +0.4375 0.1562 0.7188 +0.4375 0.1562 0.75 +0.4375 0.1562 0.7812 +0.4375 0.1562 0.8125 +0.4375 0.1562 0.8438 +0.4375 0.1562 0.875 +0.4375 0.1562 0.9062 +0.4375 0.1562 0.9375 +0.4375 0.1562 0.9688 +0.4375 0.1562 1 +0.4375 0.1875 0 +0.4375 0.1875 0.03125 +0.4375 0.1875 0.0625 +0.4375 0.1875 0.09375 +0.4375 0.1875 0.125 +0.4375 0.1875 0.1562 +0.4375 0.1875 0.1875 +0.4375 0.1875 0.2188 +0.4375 0.1875 0.25 +0.4375 0.1875 0.2812 +0.4375 0.1875 0.3125 +0.4375 0.1875 0.3438 +0.4375 0.1875 0.375 +0.4375 0.1875 0.4062 +0.4375 0.1875 0.4375 +0.4375 0.1875 0.4688 +0.4375 0.1875 0.5 +0.4375 0.1875 0.5312 +0.4375 0.1875 0.5625 +0.4375 0.1875 0.5938 +0.4375 0.1875 0.625 +0.4375 0.1875 0.6562 +0.4375 0.1875 0.6875 +0.4375 0.1875 0.7188 +0.4375 0.1875 0.75 +0.4375 0.1875 0.7812 +0.4375 0.1875 0.8125 +0.4375 0.1875 0.8438 +0.4375 0.1875 0.875 +0.4375 0.1875 0.9062 +0.4375 0.1875 0.9375 +0.4375 0.1875 0.9688 +0.4375 0.1875 1 +0.4375 0.2188 0 +0.4375 0.2188 0.03125 +0.4375 0.2188 0.0625 +0.4375 0.2188 0.09375 +0.4375 0.2188 0.125 +0.4375 0.2188 0.1562 +0.4375 0.2188 0.1875 +0.4375 0.2188 0.2188 +0.4375 0.2188 0.25 +0.4375 0.2188 0.2812 +0.4375 0.2188 0.3125 +0.4375 0.2188 0.3438 +0.4375 0.2188 0.375 +0.4375 0.2188 0.4062 +0.4375 0.2188 0.4375 +0.4375 0.2188 0.4688 +0.4375 0.2188 0.5 +0.4375 0.2188 0.5312 +0.4375 0.2188 0.5625 +0.4375 0.2188 0.5938 +0.4375 0.2188 0.625 +0.4375 0.2188 0.6562 +0.4375 0.2188 0.6875 +0.4375 0.2188 0.7188 +0.4375 0.2188 0.75 +0.4375 0.2188 0.7812 +0.4375 0.2188 0.8125 +0.4375 0.2188 0.8438 +0.4375 0.2188 0.875 +0.4375 0.2188 0.9062 +0.4375 0.2188 0.9375 +0.4375 0.2188 0.9688 +0.4375 0.2188 1 +0.4375 0.25 0 +0.4375 0.25 0.03125 +0.4375 0.25 0.0625 +0.4375 0.25 0.09375 +0.4375 0.25 0.125 +0.4375 0.25 0.1562 +0.4375 0.25 0.1875 +0.4375 0.25 0.2188 +0.4375 0.25 0.25 +0.4375 0.25 0.2812 +0.4375 0.25 0.3125 +0.4375 0.25 0.3438 +0.4375 0.25 0.375 +0.4375 0.25 0.4062 +0.4375 0.25 0.4375 +0.4375 0.25 0.4688 +0.4375 0.25 0.5 +0.4375 0.25 0.5312 +0.4375 0.25 0.5625 +0.4375 0.25 0.5938 +0.4375 0.25 0.625 +0.4375 0.25 0.6562 +0.4375 0.25 0.6875 +0.4375 0.25 0.7188 +0.4375 0.25 0.75 +0.4375 0.25 0.7812 +0.4375 0.25 0.8125 +0.4375 0.25 0.8438 +0.4375 0.25 0.875 +0.4375 0.25 0.9062 +0.4375 0.25 0.9375 +0.4375 0.25 0.9688 +0.4375 0.25 1 +0.4375 0.2812 0 +0.4375 0.2812 0.03125 +0.4375 0.2812 0.0625 +0.4375 0.2812 0.09375 +0.4375 0.2812 0.125 +0.4375 0.2812 0.1562 +0.4375 0.2812 0.1875 +0.4375 0.2812 0.2188 +0.4375 0.2812 0.25 +0.4375 0.2812 0.2812 +0.4375 0.2812 0.3125 +0.4375 0.2812 0.3438 +0.4375 0.2812 0.375 +0.4375 0.2812 0.4062 +0.4375 0.2812 0.4375 +0.4375 0.2812 0.4688 +0.4375 0.2812 0.5 +0.4375 0.2812 0.5312 +0.4375 0.2812 0.5625 +0.4375 0.2812 0.5938 +0.4375 0.2812 0.625 +0.4375 0.2812 0.6562 +0.4375 0.2812 0.6875 +0.4375 0.2812 0.7188 +0.4375 0.2812 0.75 +0.4375 0.2812 0.7812 +0.4375 0.2812 0.8125 +0.4375 0.2812 0.8438 +0.4375 0.2812 0.875 +0.4375 0.2812 0.9062 +0.4375 0.2812 0.9375 +0.4375 0.2812 0.9688 +0.4375 0.2812 1 +0.4375 0.3125 0 +0.4375 0.3125 0.03125 +0.4375 0.3125 0.0625 +0.4375 0.3125 0.09375 +0.4375 0.3125 0.125 +0.4375 0.3125 0.1562 +0.4375 0.3125 0.1875 +0.4375 0.3125 0.2188 +0.4375 0.3125 0.25 +0.4375 0.3125 0.2812 +0.4375 0.3125 0.3125 +0.4375 0.3125 0.3438 +0.4375 0.3125 0.375 +0.4375 0.3125 0.4062 +0.4375 0.3125 0.4375 +0.4375 0.3125 0.4688 +0.4375 0.3125 0.5 +0.4375 0.3125 0.5312 +0.4375 0.3125 0.5625 +0.4375 0.3125 0.5938 +0.4375 0.3125 0.625 +0.4375 0.3125 0.6562 +0.4375 0.3125 0.6875 +0.4375 0.3125 0.7188 +0.4375 0.3125 0.75 +0.4375 0.3125 0.7812 +0.4375 0.3125 0.8125 +0.4375 0.3125 0.8438 +0.4375 0.3125 0.875 +0.4375 0.3125 0.9062 +0.4375 0.3125 0.9375 +0.4375 0.3125 0.9688 +0.4375 0.3125 1 +0.4375 0.3438 0 +0.4375 0.3438 0.03125 +0.4375 0.3438 0.0625 +0.4375 0.3438 0.09375 +0.4375 0.3438 0.125 +0.4375 0.3438 0.1562 +0.4375 0.3438 0.1875 +0.4375 0.3438 0.2188 +0.4375 0.3438 0.25 +0.4375 0.3438 0.2812 +0.4375 0.3438 0.3125 +0.4375 0.3438 0.3438 +0.4375 0.3438 0.375 +0.4375 0.3438 0.4062 +0.4375 0.3438 0.4375 +0.4375 0.3438 0.4688 +0.4375 0.3438 0.5 +0.4375 0.3438 0.5312 +0.4375 0.3438 0.5625 +0.4375 0.3438 0.5938 +0.4375 0.3438 0.625 +0.4375 0.3438 0.6562 +0.4375 0.3438 0.6875 +0.4375 0.3438 0.7188 +0.4375 0.3438 0.75 +0.4375 0.3438 0.7812 +0.4375 0.3438 0.8125 +0.4375 0.3438 0.8438 +0.4375 0.3438 0.875 +0.4375 0.3438 0.9062 +0.4375 0.3438 0.9375 +0.4375 0.3438 0.9688 +0.4375 0.3438 1 +0.4375 0.375 0 +0.4375 0.375 0.03125 +0.4375 0.375 0.0625 +0.4375 0.375 0.09375 +0.4375 0.375 0.125 +0.4375 0.375 0.1562 +0.4375 0.375 0.1875 +0.4375 0.375 0.2188 +0.4375 0.375 0.25 +0.4375 0.375 0.2812 +0.4375 0.375 0.3125 +0.4375 0.375 0.3438 +0.4375 0.375 0.375 +0.4375 0.375 0.4062 +0.4375 0.375 0.4375 +0.4375 0.375 0.4688 +0.4375 0.375 0.5 +0.4375 0.375 0.5312 +0.4375 0.375 0.5625 +0.4375 0.375 0.5938 +0.4375 0.375 0.625 +0.4375 0.375 0.6562 +0.4375 0.375 0.6875 +0.4375 0.375 0.7188 +0.4375 0.375 0.75 +0.4375 0.375 0.7812 +0.4375 0.375 0.8125 +0.4375 0.375 0.8438 +0.4375 0.375 0.875 +0.4375 0.375 0.9062 +0.4375 0.375 0.9375 +0.4375 0.375 0.9688 +0.4375 0.375 1 +0.4375 0.4062 0 +0.4375 0.4062 0.03125 +0.4375 0.4062 0.0625 +0.4375 0.4062 0.09375 +0.4375 0.4062 0.125 +0.4375 0.4062 0.1562 +0.4375 0.4062 0.1875 +0.4375 0.4062 0.2188 +0.4375 0.4062 0.25 +0.4375 0.4062 0.2812 +0.4375 0.4062 0.3125 +0.4375 0.4062 0.3438 +0.4375 0.4062 0.375 +0.4375 0.4062 0.4062 +0.4375 0.4062 0.4375 +0.4375 0.4062 0.4688 +0.4375 0.4062 0.5 +0.4375 0.4062 0.5312 +0.4375 0.4062 0.5625 +0.4375 0.4062 0.5938 +0.4375 0.4062 0.625 +0.4375 0.4062 0.6562 +0.4375 0.4062 0.6875 +0.4375 0.4062 0.7188 +0.4375 0.4062 0.75 +0.4375 0.4062 0.7812 +0.4375 0.4062 0.8125 +0.4375 0.4062 0.8438 +0.4375 0.4062 0.875 +0.4375 0.4062 0.9062 +0.4375 0.4062 0.9375 +0.4375 0.4062 0.9688 +0.4375 0.4062 1 +0.4375 0.4375 0 +0.4375 0.4375 0.03125 +0.4375 0.4375 0.0625 +0.4375 0.4375 0.09375 +0.4375 0.4375 0.125 +0.4375 0.4375 0.1562 +0.4375 0.4375 0.1875 +0.4375 0.4375 0.2188 +0.4375 0.4375 0.25 +0.4375 0.4375 0.2812 +0.4375 0.4375 0.3125 +0.4375 0.4375 0.3438 +0.4375 0.4375 0.375 +0.4375 0.4375 0.4062 +0.4375 0.4375 0.4375 +0.4375 0.4375 0.4688 +0.4375 0.4375 0.5 +0.4375 0.4375 0.5312 +0.4375 0.4375 0.5625 +0.4375 0.4375 0.5938 +0.4375 0.4375 0.625 +0.4375 0.4375 0.6562 +0.4375 0.4375 0.6875 +0.4375 0.4375 0.7188 +0.4375 0.4375 0.75 +0.4375 0.4375 0.7812 +0.4375 0.4375 0.8125 +0.4375 0.4375 0.8438 +0.4375 0.4375 0.875 +0.4375 0.4375 0.9062 +0.4375 0.4375 0.9375 +0.4375 0.4375 0.9688 +0.4375 0.4375 1 +0.4375 0.4688 0 +0.4375 0.4688 0.03125 +0.4375 0.4688 0.0625 +0.4375 0.4688 0.09375 +0.4375 0.4688 0.125 +0.4375 0.4688 0.1562 +0.4375 0.4688 0.1875 +0.4375 0.4688 0.2188 +0.4375 0.4688 0.25 +0.4375 0.4688 0.2812 +0.4375 0.4688 0.3125 +0.4375 0.4688 0.3438 +0.4375 0.4688 0.375 +0.4375 0.4688 0.4062 +0.4375 0.4688 0.4375 +0.4375 0.4688 0.4688 +0.4375 0.4688 0.5 +0.4375 0.4688 0.5312 +0.4375 0.4688 0.5625 +0.4375 0.4688 0.5938 +0.4375 0.4688 0.625 +0.4375 0.4688 0.6562 +0.4375 0.4688 0.6875 +0.4375 0.4688 0.7188 +0.4375 0.4688 0.75 +0.4375 0.4688 0.7812 +0.4375 0.4688 0.8125 +0.4375 0.4688 0.8438 +0.4375 0.4688 0.875 +0.4375 0.4688 0.9062 +0.4375 0.4688 0.9375 +0.4375 0.4688 0.9688 +0.4375 0.4688 1 +0.4375 0.5 0 +0.4375 0.5 0.03125 +0.4375 0.5 0.0625 +0.4375 0.5 0.09375 +0.4375 0.5 0.125 +0.4375 0.5 0.1562 +0.4375 0.5 0.1875 +0.4375 0.5 0.2188 +0.4375 0.5 0.25 +0.4375 0.5 0.2812 +0.4375 0.5 0.3125 +0.4375 0.5 0.3438 +0.4375 0.5 0.375 +0.4375 0.5 0.4062 +0.4375 0.5 0.4375 +0.4375 0.5 0.4688 +0.4375 0.5 0.5 +0.4375 0.5 0.5312 +0.4375 0.5 0.5625 +0.4375 0.5 0.5938 +0.4375 0.5 0.625 +0.4375 0.5 0.6562 +0.4375 0.5 0.6875 +0.4375 0.5 0.7188 +0.4375 0.5 0.75 +0.4375 0.5 0.7812 +0.4375 0.5 0.8125 +0.4375 0.5 0.8438 +0.4375 0.5 0.875 +0.4375 0.5 0.9062 +0.4375 0.5 0.9375 +0.4375 0.5 0.9688 +0.4375 0.5 1 +0.4375 0.5312 0 +0.4375 0.5312 0.03125 +0.4375 0.5312 0.0625 +0.4375 0.5312 0.09375 +0.4375 0.5312 0.125 +0.4375 0.5312 0.1562 +0.4375 0.5312 0.1875 +0.4375 0.5312 0.2188 +0.4375 0.5312 0.25 +0.4375 0.5312 0.2812 +0.4375 0.5312 0.3125 +0.4375 0.5312 0.3438 +0.4375 0.5312 0.375 +0.4375 0.5312 0.4062 +0.4375 0.5312 0.4375 +0.4375 0.5312 0.4688 +0.4375 0.5312 0.5 +0.4375 0.5312 0.5312 +0.4375 0.5312 0.5625 +0.4375 0.5312 0.5938 +0.4375 0.5312 0.625 +0.4375 0.5312 0.6562 +0.4375 0.5312 0.6875 +0.4375 0.5312 0.7188 +0.4375 0.5312 0.75 +0.4375 0.5312 0.7812 +0.4375 0.5312 0.8125 +0.4375 0.5312 0.8438 +0.4375 0.5312 0.875 +0.4375 0.5312 0.9062 +0.4375 0.5312 0.9375 +0.4375 0.5312 0.9688 +0.4375 0.5312 1 +0.4375 0.5625 0 +0.4375 0.5625 0.03125 +0.4375 0.5625 0.0625 +0.4375 0.5625 0.09375 +0.4375 0.5625 0.125 +0.4375 0.5625 0.1562 +0.4375 0.5625 0.1875 +0.4375 0.5625 0.2188 +0.4375 0.5625 0.25 +0.4375 0.5625 0.2812 +0.4375 0.5625 0.3125 +0.4375 0.5625 0.3438 +0.4375 0.5625 0.375 +0.4375 0.5625 0.4062 +0.4375 0.5625 0.4375 +0.4375 0.5625 0.4688 +0.4375 0.5625 0.5 +0.4375 0.5625 0.5312 +0.4375 0.5625 0.5625 +0.4375 0.5625 0.5938 +0.4375 0.5625 0.625 +0.4375 0.5625 0.6562 +0.4375 0.5625 0.6875 +0.4375 0.5625 0.7188 +0.4375 0.5625 0.75 +0.4375 0.5625 0.7812 +0.4375 0.5625 0.8125 +0.4375 0.5625 0.8438 +0.4375 0.5625 0.875 +0.4375 0.5625 0.9062 +0.4375 0.5625 0.9375 +0.4375 0.5625 0.9688 +0.4375 0.5625 1 +0.4375 0.5938 0 +0.4375 0.5938 0.03125 +0.4375 0.5938 0.0625 +0.4375 0.5938 0.09375 +0.4375 0.5938 0.125 +0.4375 0.5938 0.1562 +0.4375 0.5938 0.1875 +0.4375 0.5938 0.2188 +0.4375 0.5938 0.25 +0.4375 0.5938 0.2812 +0.4375 0.5938 0.3125 +0.4375 0.5938 0.3438 +0.4375 0.5938 0.375 +0.4375 0.5938 0.4062 +0.4375 0.5938 0.4375 +0.4375 0.5938 0.4688 +0.4375 0.5938 0.5 +0.4375 0.5938 0.5312 +0.4375 0.5938 0.5625 +0.4375 0.5938 0.5938 +0.4375 0.5938 0.625 +0.4375 0.5938 0.6562 +0.4375 0.5938 0.6875 +0.4375 0.5938 0.7188 +0.4375 0.5938 0.75 +0.4375 0.5938 0.7812 +0.4375 0.5938 0.8125 +0.4375 0.5938 0.8438 +0.4375 0.5938 0.875 +0.4375 0.5938 0.9062 +0.4375 0.5938 0.9375 +0.4375 0.5938 0.9688 +0.4375 0.5938 1 +0.4375 0.625 0 +0.4375 0.625 0.03125 +0.4375 0.625 0.0625 +0.4375 0.625 0.09375 +0.4375 0.625 0.125 +0.4375 0.625 0.1562 +0.4375 0.625 0.1875 +0.4375 0.625 0.2188 +0.4375 0.625 0.25 +0.4375 0.625 0.2812 +0.4375 0.625 0.3125 +0.4375 0.625 0.3438 +0.4375 0.625 0.375 +0.4375 0.625 0.4062 +0.4375 0.625 0.4375 +0.4375 0.625 0.4688 +0.4375 0.625 0.5 +0.4375 0.625 0.5312 +0.4375 0.625 0.5625 +0.4375 0.625 0.5938 +0.4375 0.625 0.625 +0.4375 0.625 0.6562 +0.4375 0.625 0.6875 +0.4375 0.625 0.7188 +0.4375 0.625 0.75 +0.4375 0.625 0.7812 +0.4375 0.625 0.8125 +0.4375 0.625 0.8438 +0.4375 0.625 0.875 +0.4375 0.625 0.9062 +0.4375 0.625 0.9375 +0.4375 0.625 0.9688 +0.4375 0.625 1 +0.4375 0.6562 0 +0.4375 0.6562 0.03125 +0.4375 0.6562 0.0625 +0.4375 0.6562 0.09375 +0.4375 0.6562 0.125 +0.4375 0.6562 0.1562 +0.4375 0.6562 0.1875 +0.4375 0.6562 0.2188 +0.4375 0.6562 0.25 +0.4375 0.6562 0.2812 +0.4375 0.6562 0.3125 +0.4375 0.6562 0.3438 +0.4375 0.6562 0.375 +0.4375 0.6562 0.4062 +0.4375 0.6562 0.4375 +0.4375 0.6562 0.4688 +0.4375 0.6562 0.5 +0.4375 0.6562 0.5312 +0.4375 0.6562 0.5625 +0.4375 0.6562 0.5938 +0.4375 0.6562 0.625 +0.4375 0.6562 0.6562 +0.4375 0.6562 0.6875 +0.4375 0.6562 0.7188 +0.4375 0.6562 0.75 +0.4375 0.6562 0.7812 +0.4375 0.6562 0.8125 +0.4375 0.6562 0.8438 +0.4375 0.6562 0.875 +0.4375 0.6562 0.9062 +0.4375 0.6562 0.9375 +0.4375 0.6562 0.9688 +0.4375 0.6562 1 +0.4375 0.6875 0 +0.4375 0.6875 0.03125 +0.4375 0.6875 0.0625 +0.4375 0.6875 0.09375 +0.4375 0.6875 0.125 +0.4375 0.6875 0.1562 +0.4375 0.6875 0.1875 +0.4375 0.6875 0.2188 +0.4375 0.6875 0.25 +0.4375 0.6875 0.2812 +0.4375 0.6875 0.3125 +0.4375 0.6875 0.3438 +0.4375 0.6875 0.375 +0.4375 0.6875 0.4062 +0.4375 0.6875 0.4375 +0.4375 0.6875 0.4688 +0.4375 0.6875 0.5 +0.4375 0.6875 0.5312 +0.4375 0.6875 0.5625 +0.4375 0.6875 0.5938 +0.4375 0.6875 0.625 +0.4375 0.6875 0.6562 +0.4375 0.6875 0.6875 +0.4375 0.6875 0.7188 +0.4375 0.6875 0.75 +0.4375 0.6875 0.7812 +0.4375 0.6875 0.8125 +0.4375 0.6875 0.8438 +0.4375 0.6875 0.875 +0.4375 0.6875 0.9062 +0.4375 0.6875 0.9375 +0.4375 0.6875 0.9688 +0.4375 0.6875 1 +0.4375 0.7188 0 +0.4375 0.7188 0.03125 +0.4375 0.7188 0.0625 +0.4375 0.7188 0.09375 +0.4375 0.7188 0.125 +0.4375 0.7188 0.1562 +0.4375 0.7188 0.1875 +0.4375 0.7188 0.2188 +0.4375 0.7188 0.25 +0.4375 0.7188 0.2812 +0.4375 0.7188 0.3125 +0.4375 0.7188 0.3438 +0.4375 0.7188 0.375 +0.4375 0.7188 0.4062 +0.4375 0.7188 0.4375 +0.4375 0.7188 0.4688 +0.4375 0.7188 0.5 +0.4375 0.7188 0.5312 +0.4375 0.7188 0.5625 +0.4375 0.7188 0.5938 +0.4375 0.7188 0.625 +0.4375 0.7188 0.6562 +0.4375 0.7188 0.6875 +0.4375 0.7188 0.7188 +0.4375 0.7188 0.75 +0.4375 0.7188 0.7812 +0.4375 0.7188 0.8125 +0.4375 0.7188 0.8438 +0.4375 0.7188 0.875 +0.4375 0.7188 0.9062 +0.4375 0.7188 0.9375 +0.4375 0.7188 0.9688 +0.4375 0.7188 1 +0.4375 0.75 0 +0.4375 0.75 0.03125 +0.4375 0.75 0.0625 +0.4375 0.75 0.09375 +0.4375 0.75 0.125 +0.4375 0.75 0.1562 +0.4375 0.75 0.1875 +0.4375 0.75 0.2188 +0.4375 0.75 0.25 +0.4375 0.75 0.2812 +0.4375 0.75 0.3125 +0.4375 0.75 0.3438 +0.4375 0.75 0.375 +0.4375 0.75 0.4062 +0.4375 0.75 0.4375 +0.4375 0.75 0.4688 +0.4375 0.75 0.5 +0.4375 0.75 0.5312 +0.4375 0.75 0.5625 +0.4375 0.75 0.5938 +0.4375 0.75 0.625 +0.4375 0.75 0.6562 +0.4375 0.75 0.6875 +0.4375 0.75 0.7188 +0.4375 0.75 0.75 +0.4375 0.75 0.7812 +0.4375 0.75 0.8125 +0.4375 0.75 0.8438 +0.4375 0.75 0.875 +0.4375 0.75 0.9062 +0.4375 0.75 0.9375 +0.4375 0.75 0.9688 +0.4375 0.75 1 +0.4375 0.7812 0 +0.4375 0.7812 0.03125 +0.4375 0.7812 0.0625 +0.4375 0.7812 0.09375 +0.4375 0.7812 0.125 +0.4375 0.7812 0.1562 +0.4375 0.7812 0.1875 +0.4375 0.7812 0.2188 +0.4375 0.7812 0.25 +0.4375 0.7812 0.2812 +0.4375 0.7812 0.3125 +0.4375 0.7812 0.3438 +0.4375 0.7812 0.375 +0.4375 0.7812 0.4062 +0.4375 0.7812 0.4375 +0.4375 0.7812 0.4688 +0.4375 0.7812 0.5 +0.4375 0.7812 0.5312 +0.4375 0.7812 0.5625 +0.4375 0.7812 0.5938 +0.4375 0.7812 0.625 +0.4375 0.7812 0.6562 +0.4375 0.7812 0.6875 +0.4375 0.7812 0.7188 +0.4375 0.7812 0.75 +0.4375 0.7812 0.7812 +0.4375 0.7812 0.8125 +0.4375 0.7812 0.8438 +0.4375 0.7812 0.875 +0.4375 0.7812 0.9062 +0.4375 0.7812 0.9375 +0.4375 0.7812 0.9688 +0.4375 0.7812 1 +0.4375 0.8125 0 +0.4375 0.8125 0.03125 +0.4375 0.8125 0.0625 +0.4375 0.8125 0.09375 +0.4375 0.8125 0.125 +0.4375 0.8125 0.1562 +0.4375 0.8125 0.1875 +0.4375 0.8125 0.2188 +0.4375 0.8125 0.25 +0.4375 0.8125 0.2812 +0.4375 0.8125 0.3125 +0.4375 0.8125 0.3438 +0.4375 0.8125 0.375 +0.4375 0.8125 0.4062 +0.4375 0.8125 0.4375 +0.4375 0.8125 0.4688 +0.4375 0.8125 0.5 +0.4375 0.8125 0.5312 +0.4375 0.8125 0.5625 +0.4375 0.8125 0.5938 +0.4375 0.8125 0.625 +0.4375 0.8125 0.6562 +0.4375 0.8125 0.6875 +0.4375 0.8125 0.7188 +0.4375 0.8125 0.75 +0.4375 0.8125 0.7812 +0.4375 0.8125 0.8125 +0.4375 0.8125 0.8438 +0.4375 0.8125 0.875 +0.4375 0.8125 0.9062 +0.4375 0.8125 0.9375 +0.4375 0.8125 0.9688 +0.4375 0.8125 1 +0.4375 0.8438 0 +0.4375 0.8438 0.03125 +0.4375 0.8438 0.0625 +0.4375 0.8438 0.09375 +0.4375 0.8438 0.125 +0.4375 0.8438 0.1562 +0.4375 0.8438 0.1875 +0.4375 0.8438 0.2188 +0.4375 0.8438 0.25 +0.4375 0.8438 0.2812 +0.4375 0.8438 0.3125 +0.4375 0.8438 0.3438 +0.4375 0.8438 0.375 +0.4375 0.8438 0.4062 +0.4375 0.8438 0.4375 +0.4375 0.8438 0.4688 +0.4375 0.8438 0.5 +0.4375 0.8438 0.5312 +0.4375 0.8438 0.5625 +0.4375 0.8438 0.5938 +0.4375 0.8438 0.625 +0.4375 0.8438 0.6562 +0.4375 0.8438 0.6875 +0.4375 0.8438 0.7188 +0.4375 0.8438 0.75 +0.4375 0.8438 0.7812 +0.4375 0.8438 0.8125 +0.4375 0.8438 0.8438 +0.4375 0.8438 0.875 +0.4375 0.8438 0.9062 +0.4375 0.8438 0.9375 +0.4375 0.8438 0.9688 +0.4375 0.8438 1 +0.4375 0.875 0 +0.4375 0.875 0.03125 +0.4375 0.875 0.0625 +0.4375 0.875 0.09375 +0.4375 0.875 0.125 +0.4375 0.875 0.1562 +0.4375 0.875 0.1875 +0.4375 0.875 0.2188 +0.4375 0.875 0.25 +0.4375 0.875 0.2812 +0.4375 0.875 0.3125 +0.4375 0.875 0.3438 +0.4375 0.875 0.375 +0.4375 0.875 0.4062 +0.4375 0.875 0.4375 +0.4375 0.875 0.4688 +0.4375 0.875 0.5 +0.4375 0.875 0.5312 +0.4375 0.875 0.5625 +0.4375 0.875 0.5938 +0.4375 0.875 0.625 +0.4375 0.875 0.6562 +0.4375 0.875 0.6875 +0.4375 0.875 0.7188 +0.4375 0.875 0.75 +0.4375 0.875 0.7812 +0.4375 0.875 0.8125 +0.4375 0.875 0.8438 +0.4375 0.875 0.875 +0.4375 0.875 0.9062 +0.4375 0.875 0.9375 +0.4375 0.875 0.9688 +0.4375 0.875 1 +0.4375 0.9062 0 +0.4375 0.9062 0.03125 +0.4375 0.9062 0.0625 +0.4375 0.9062 0.09375 +0.4375 0.9062 0.125 +0.4375 0.9062 0.1562 +0.4375 0.9062 0.1875 +0.4375 0.9062 0.2188 +0.4375 0.9062 0.25 +0.4375 0.9062 0.2812 +0.4375 0.9062 0.3125 +0.4375 0.9062 0.3438 +0.4375 0.9062 0.375 +0.4375 0.9062 0.4062 +0.4375 0.9062 0.4375 +0.4375 0.9062 0.4688 +0.4375 0.9062 0.5 +0.4375 0.9062 0.5312 +0.4375 0.9062 0.5625 +0.4375 0.9062 0.5938 +0.4375 0.9062 0.625 +0.4375 0.9062 0.6562 +0.4375 0.9062 0.6875 +0.4375 0.9062 0.7188 +0.4375 0.9062 0.75 +0.4375 0.9062 0.7812 +0.4375 0.9062 0.8125 +0.4375 0.9062 0.8438 +0.4375 0.9062 0.875 +0.4375 0.9062 0.9062 +0.4375 0.9062 0.9375 +0.4375 0.9062 0.9688 +0.4375 0.9062 1 +0.4375 0.9375 0 +0.4375 0.9375 0.03125 +0.4375 0.9375 0.0625 +0.4375 0.9375 0.09375 +0.4375 0.9375 0.125 +0.4375 0.9375 0.1562 +0.4375 0.9375 0.1875 +0.4375 0.9375 0.2188 +0.4375 0.9375 0.25 +0.4375 0.9375 0.2812 +0.4375 0.9375 0.3125 +0.4375 0.9375 0.3438 +0.4375 0.9375 0.375 +0.4375 0.9375 0.4062 +0.4375 0.9375 0.4375 +0.4375 0.9375 0.4688 +0.4375 0.9375 0.5 +0.4375 0.9375 0.5312 +0.4375 0.9375 0.5625 +0.4375 0.9375 0.5938 +0.4375 0.9375 0.625 +0.4375 0.9375 0.6562 +0.4375 0.9375 0.6875 +0.4375 0.9375 0.7188 +0.4375 0.9375 0.75 +0.4375 0.9375 0.7812 +0.4375 0.9375 0.8125 +0.4375 0.9375 0.8438 +0.4375 0.9375 0.875 +0.4375 0.9375 0.9062 +0.4375 0.9375 0.9375 +0.4375 0.9375 0.9688 +0.4375 0.9375 1 +0.4375 0.9688 0 +0.4375 0.9688 0.03125 +0.4375 0.9688 0.0625 +0.4375 0.9688 0.09375 +0.4375 0.9688 0.125 +0.4375 0.9688 0.1562 +0.4375 0.9688 0.1875 +0.4375 0.9688 0.2188 +0.4375 0.9688 0.25 +0.4375 0.9688 0.2812 +0.4375 0.9688 0.3125 +0.4375 0.9688 0.3438 +0.4375 0.9688 0.375 +0.4375 0.9688 0.4062 +0.4375 0.9688 0.4375 +0.4375 0.9688 0.4688 +0.4375 0.9688 0.5 +0.4375 0.9688 0.5312 +0.4375 0.9688 0.5625 +0.4375 0.9688 0.5938 +0.4375 0.9688 0.625 +0.4375 0.9688 0.6562 +0.4375 0.9688 0.6875 +0.4375 0.9688 0.7188 +0.4375 0.9688 0.75 +0.4375 0.9688 0.7812 +0.4375 0.9688 0.8125 +0.4375 0.9688 0.8438 +0.4375 0.9688 0.875 +0.4375 0.9688 0.9062 +0.4375 0.9688 0.9375 +0.4375 0.9688 0.9688 +0.4375 0.9688 1 +0.4375 1 0 +0.4375 1 0.03125 +0.4375 1 0.0625 +0.4375 1 0.09375 +0.4375 1 0.125 +0.4375 1 0.1562 +0.4375 1 0.1875 +0.4375 1 0.2188 +0.4375 1 0.25 +0.4375 1 0.2812 +0.4375 1 0.3125 +0.4375 1 0.3438 +0.4375 1 0.375 +0.4375 1 0.4062 +0.4375 1 0.4375 +0.4375 1 0.4688 +0.4375 1 0.5 +0.4375 1 0.5312 +0.4375 1 0.5625 +0.4375 1 0.5938 +0.4375 1 0.625 +0.4375 1 0.6562 +0.4375 1 0.6875 +0.4375 1 0.7188 +0.4375 1 0.75 +0.4375 1 0.7812 +0.4375 1 0.8125 +0.4375 1 0.8438 +0.4375 1 0.875 +0.4375 1 0.9062 +0.4375 1 0.9375 +0.4375 1 0.9688 +0.4375 1 1 +0.4688 0 0 +0.4688 0 0.03125 +0.4688 0 0.0625 +0.4688 0 0.09375 +0.4688 0 0.125 +0.4688 0 0.1562 +0.4688 0 0.1875 +0.4688 0 0.2188 +0.4688 0 0.25 +0.4688 0 0.2812 +0.4688 0 0.3125 +0.4688 0 0.3438 +0.4688 0 0.375 +0.4688 0 0.4062 +0.4688 0 0.4375 +0.4688 0 0.4688 +0.4688 0 0.5 +0.4688 0 0.5312 +0.4688 0 0.5625 +0.4688 0 0.5938 +0.4688 0 0.625 +0.4688 0 0.6562 +0.4688 0 0.6875 +0.4688 0 0.7188 +0.4688 0 0.75 +0.4688 0 0.7812 +0.4688 0 0.8125 +0.4688 0 0.8438 +0.4688 0 0.875 +0.4688 0 0.9062 +0.4688 0 0.9375 +0.4688 0 0.9688 +0.4688 0 1 +0.4688 0.03125 0 +0.4688 0.03125 0.03125 +0.4688 0.03125 0.0625 +0.4688 0.03125 0.09375 +0.4688 0.03125 0.125 +0.4688 0.03125 0.1562 +0.4688 0.03125 0.1875 +0.4688 0.03125 0.2188 +0.4688 0.03125 0.25 +0.4688 0.03125 0.2812 +0.4688 0.03125 0.3125 +0.4688 0.03125 0.3438 +0.4688 0.03125 0.375 +0.4688 0.03125 0.4062 +0.4688 0.03125 0.4375 +0.4688 0.03125 0.4688 +0.4688 0.03125 0.5 +0.4688 0.03125 0.5312 +0.4688 0.03125 0.5625 +0.4688 0.03125 0.5938 +0.4688 0.03125 0.625 +0.4688 0.03125 0.6562 +0.4688 0.03125 0.6875 +0.4688 0.03125 0.7188 +0.4688 0.03125 0.75 +0.4688 0.03125 0.7812 +0.4688 0.03125 0.8125 +0.4688 0.03125 0.8438 +0.4688 0.03125 0.875 +0.4688 0.03125 0.9062 +0.4688 0.03125 0.9375 +0.4688 0.03125 0.9688 +0.4688 0.03125 1 +0.4688 0.0625 0 +0.4688 0.0625 0.03125 +0.4688 0.0625 0.0625 +0.4688 0.0625 0.09375 +0.4688 0.0625 0.125 +0.4688 0.0625 0.1562 +0.4688 0.0625 0.1875 +0.4688 0.0625 0.2188 +0.4688 0.0625 0.25 +0.4688 0.0625 0.2812 +0.4688 0.0625 0.3125 +0.4688 0.0625 0.3438 +0.4688 0.0625 0.375 +0.4688 0.0625 0.4062 +0.4688 0.0625 0.4375 +0.4688 0.0625 0.4688 +0.4688 0.0625 0.5 +0.4688 0.0625 0.5312 +0.4688 0.0625 0.5625 +0.4688 0.0625 0.5938 +0.4688 0.0625 0.625 +0.4688 0.0625 0.6562 +0.4688 0.0625 0.6875 +0.4688 0.0625 0.7188 +0.4688 0.0625 0.75 +0.4688 0.0625 0.7812 +0.4688 0.0625 0.8125 +0.4688 0.0625 0.8438 +0.4688 0.0625 0.875 +0.4688 0.0625 0.9062 +0.4688 0.0625 0.9375 +0.4688 0.0625 0.9688 +0.4688 0.0625 1 +0.4688 0.09375 0 +0.4688 0.09375 0.03125 +0.4688 0.09375 0.0625 +0.4688 0.09375 0.09375 +0.4688 0.09375 0.125 +0.4688 0.09375 0.1562 +0.4688 0.09375 0.1875 +0.4688 0.09375 0.2188 +0.4688 0.09375 0.25 +0.4688 0.09375 0.2812 +0.4688 0.09375 0.3125 +0.4688 0.09375 0.3438 +0.4688 0.09375 0.375 +0.4688 0.09375 0.4062 +0.4688 0.09375 0.4375 +0.4688 0.09375 0.4688 +0.4688 0.09375 0.5 +0.4688 0.09375 0.5312 +0.4688 0.09375 0.5625 +0.4688 0.09375 0.5938 +0.4688 0.09375 0.625 +0.4688 0.09375 0.6562 +0.4688 0.09375 0.6875 +0.4688 0.09375 0.7188 +0.4688 0.09375 0.75 +0.4688 0.09375 0.7812 +0.4688 0.09375 0.8125 +0.4688 0.09375 0.8438 +0.4688 0.09375 0.875 +0.4688 0.09375 0.9062 +0.4688 0.09375 0.9375 +0.4688 0.09375 0.9688 +0.4688 0.09375 1 +0.4688 0.125 0 +0.4688 0.125 0.03125 +0.4688 0.125 0.0625 +0.4688 0.125 0.09375 +0.4688 0.125 0.125 +0.4688 0.125 0.1562 +0.4688 0.125 0.1875 +0.4688 0.125 0.2188 +0.4688 0.125 0.25 +0.4688 0.125 0.2812 +0.4688 0.125 0.3125 +0.4688 0.125 0.3438 +0.4688 0.125 0.375 +0.4688 0.125 0.4062 +0.4688 0.125 0.4375 +0.4688 0.125 0.4688 +0.4688 0.125 0.5 +0.4688 0.125 0.5312 +0.4688 0.125 0.5625 +0.4688 0.125 0.5938 +0.4688 0.125 0.625 +0.4688 0.125 0.6562 +0.4688 0.125 0.6875 +0.4688 0.125 0.7188 +0.4688 0.125 0.75 +0.4688 0.125 0.7812 +0.4688 0.125 0.8125 +0.4688 0.125 0.8438 +0.4688 0.125 0.875 +0.4688 0.125 0.9062 +0.4688 0.125 0.9375 +0.4688 0.125 0.9688 +0.4688 0.125 1 +0.4688 0.1562 0 +0.4688 0.1562 0.03125 +0.4688 0.1562 0.0625 +0.4688 0.1562 0.09375 +0.4688 0.1562 0.125 +0.4688 0.1562 0.1562 +0.4688 0.1562 0.1875 +0.4688 0.1562 0.2188 +0.4688 0.1562 0.25 +0.4688 0.1562 0.2812 +0.4688 0.1562 0.3125 +0.4688 0.1562 0.3438 +0.4688 0.1562 0.375 +0.4688 0.1562 0.4062 +0.4688 0.1562 0.4375 +0.4688 0.1562 0.4688 +0.4688 0.1562 0.5 +0.4688 0.1562 0.5312 +0.4688 0.1562 0.5625 +0.4688 0.1562 0.5938 +0.4688 0.1562 0.625 +0.4688 0.1562 0.6562 +0.4688 0.1562 0.6875 +0.4688 0.1562 0.7188 +0.4688 0.1562 0.75 +0.4688 0.1562 0.7812 +0.4688 0.1562 0.8125 +0.4688 0.1562 0.8438 +0.4688 0.1562 0.875 +0.4688 0.1562 0.9062 +0.4688 0.1562 0.9375 +0.4688 0.1562 0.9688 +0.4688 0.1562 1 +0.4688 0.1875 0 +0.4688 0.1875 0.03125 +0.4688 0.1875 0.0625 +0.4688 0.1875 0.09375 +0.4688 0.1875 0.125 +0.4688 0.1875 0.1562 +0.4688 0.1875 0.1875 +0.4688 0.1875 0.2188 +0.4688 0.1875 0.25 +0.4688 0.1875 0.2812 +0.4688 0.1875 0.3125 +0.4688 0.1875 0.3438 +0.4688 0.1875 0.375 +0.4688 0.1875 0.4062 +0.4688 0.1875 0.4375 +0.4688 0.1875 0.4688 +0.4688 0.1875 0.5 +0.4688 0.1875 0.5312 +0.4688 0.1875 0.5625 +0.4688 0.1875 0.5938 +0.4688 0.1875 0.625 +0.4688 0.1875 0.6562 +0.4688 0.1875 0.6875 +0.4688 0.1875 0.7188 +0.4688 0.1875 0.75 +0.4688 0.1875 0.7812 +0.4688 0.1875 0.8125 +0.4688 0.1875 0.8438 +0.4688 0.1875 0.875 +0.4688 0.1875 0.9062 +0.4688 0.1875 0.9375 +0.4688 0.1875 0.9688 +0.4688 0.1875 1 +0.4688 0.2188 0 +0.4688 0.2188 0.03125 +0.4688 0.2188 0.0625 +0.4688 0.2188 0.09375 +0.4688 0.2188 0.125 +0.4688 0.2188 0.1562 +0.4688 0.2188 0.1875 +0.4688 0.2188 0.2188 +0.4688 0.2188 0.25 +0.4688 0.2188 0.2812 +0.4688 0.2188 0.3125 +0.4688 0.2188 0.3438 +0.4688 0.2188 0.375 +0.4688 0.2188 0.4062 +0.4688 0.2188 0.4375 +0.4688 0.2188 0.4688 +0.4688 0.2188 0.5 +0.4688 0.2188 0.5312 +0.4688 0.2188 0.5625 +0.4688 0.2188 0.5938 +0.4688 0.2188 0.625 +0.4688 0.2188 0.6562 +0.4688 0.2188 0.6875 +0.4688 0.2188 0.7188 +0.4688 0.2188 0.75 +0.4688 0.2188 0.7812 +0.4688 0.2188 0.8125 +0.4688 0.2188 0.8438 +0.4688 0.2188 0.875 +0.4688 0.2188 0.9062 +0.4688 0.2188 0.9375 +0.4688 0.2188 0.9688 +0.4688 0.2188 1 +0.4688 0.25 0 +0.4688 0.25 0.03125 +0.4688 0.25 0.0625 +0.4688 0.25 0.09375 +0.4688 0.25 0.125 +0.4688 0.25 0.1562 +0.4688 0.25 0.1875 +0.4688 0.25 0.2188 +0.4688 0.25 0.25 +0.4688 0.25 0.2812 +0.4688 0.25 0.3125 +0.4688 0.25 0.3438 +0.4688 0.25 0.375 +0.4688 0.25 0.4062 +0.4688 0.25 0.4375 +0.4688 0.25 0.4688 +0.4688 0.25 0.5 +0.4688 0.25 0.5312 +0.4688 0.25 0.5625 +0.4688 0.25 0.5938 +0.4688 0.25 0.625 +0.4688 0.25 0.6562 +0.4688 0.25 0.6875 +0.4688 0.25 0.7188 +0.4688 0.25 0.75 +0.4688 0.25 0.7812 +0.4688 0.25 0.8125 +0.4688 0.25 0.8438 +0.4688 0.25 0.875 +0.4688 0.25 0.9062 +0.4688 0.25 0.9375 +0.4688 0.25 0.9688 +0.4688 0.25 1 +0.4688 0.2812 0 +0.4688 0.2812 0.03125 +0.4688 0.2812 0.0625 +0.4688 0.2812 0.09375 +0.4688 0.2812 0.125 +0.4688 0.2812 0.1562 +0.4688 0.2812 0.1875 +0.4688 0.2812 0.2188 +0.4688 0.2812 0.25 +0.4688 0.2812 0.2812 +0.4688 0.2812 0.3125 +0.4688 0.2812 0.3438 +0.4688 0.2812 0.375 +0.4688 0.2812 0.4062 +0.4688 0.2812 0.4375 +0.4688 0.2812 0.4688 +0.4688 0.2812 0.5 +0.4688 0.2812 0.5312 +0.4688 0.2812 0.5625 +0.4688 0.2812 0.5938 +0.4688 0.2812 0.625 +0.4688 0.2812 0.6562 +0.4688 0.2812 0.6875 +0.4688 0.2812 0.7188 +0.4688 0.2812 0.75 +0.4688 0.2812 0.7812 +0.4688 0.2812 0.8125 +0.4688 0.2812 0.8438 +0.4688 0.2812 0.875 +0.4688 0.2812 0.9062 +0.4688 0.2812 0.9375 +0.4688 0.2812 0.9688 +0.4688 0.2812 1 +0.4688 0.3125 0 +0.4688 0.3125 0.03125 +0.4688 0.3125 0.0625 +0.4688 0.3125 0.09375 +0.4688 0.3125 0.125 +0.4688 0.3125 0.1562 +0.4688 0.3125 0.1875 +0.4688 0.3125 0.2188 +0.4688 0.3125 0.25 +0.4688 0.3125 0.2812 +0.4688 0.3125 0.3125 +0.4688 0.3125 0.3438 +0.4688 0.3125 0.375 +0.4688 0.3125 0.4062 +0.4688 0.3125 0.4375 +0.4688 0.3125 0.4688 +0.4688 0.3125 0.5 +0.4688 0.3125 0.5312 +0.4688 0.3125 0.5625 +0.4688 0.3125 0.5938 +0.4688 0.3125 0.625 +0.4688 0.3125 0.6562 +0.4688 0.3125 0.6875 +0.4688 0.3125 0.7188 +0.4688 0.3125 0.75 +0.4688 0.3125 0.7812 +0.4688 0.3125 0.8125 +0.4688 0.3125 0.8438 +0.4688 0.3125 0.875 +0.4688 0.3125 0.9062 +0.4688 0.3125 0.9375 +0.4688 0.3125 0.9688 +0.4688 0.3125 1 +0.4688 0.3438 0 +0.4688 0.3438 0.03125 +0.4688 0.3438 0.0625 +0.4688 0.3438 0.09375 +0.4688 0.3438 0.125 +0.4688 0.3438 0.1562 +0.4688 0.3438 0.1875 +0.4688 0.3438 0.2188 +0.4688 0.3438 0.25 +0.4688 0.3438 0.2812 +0.4688 0.3438 0.3125 +0.4688 0.3438 0.3438 +0.4688 0.3438 0.375 +0.4688 0.3438 0.4062 +0.4688 0.3438 0.4375 +0.4688 0.3438 0.4688 +0.4688 0.3438 0.5 +0.4688 0.3438 0.5312 +0.4688 0.3438 0.5625 +0.4688 0.3438 0.5938 +0.4688 0.3438 0.625 +0.4688 0.3438 0.6562 +0.4688 0.3438 0.6875 +0.4688 0.3438 0.7188 +0.4688 0.3438 0.75 +0.4688 0.3438 0.7812 +0.4688 0.3438 0.8125 +0.4688 0.3438 0.8438 +0.4688 0.3438 0.875 +0.4688 0.3438 0.9062 +0.4688 0.3438 0.9375 +0.4688 0.3438 0.9688 +0.4688 0.3438 1 +0.4688 0.375 0 +0.4688 0.375 0.03125 +0.4688 0.375 0.0625 +0.4688 0.375 0.09375 +0.4688 0.375 0.125 +0.4688 0.375 0.1562 +0.4688 0.375 0.1875 +0.4688 0.375 0.2188 +0.4688 0.375 0.25 +0.4688 0.375 0.2812 +0.4688 0.375 0.3125 +0.4688 0.375 0.3438 +0.4688 0.375 0.375 +0.4688 0.375 0.4062 +0.4688 0.375 0.4375 +0.4688 0.375 0.4688 +0.4688 0.375 0.5 +0.4688 0.375 0.5312 +0.4688 0.375 0.5625 +0.4688 0.375 0.5938 +0.4688 0.375 0.625 +0.4688 0.375 0.6562 +0.4688 0.375 0.6875 +0.4688 0.375 0.7188 +0.4688 0.375 0.75 +0.4688 0.375 0.7812 +0.4688 0.375 0.8125 +0.4688 0.375 0.8438 +0.4688 0.375 0.875 +0.4688 0.375 0.9062 +0.4688 0.375 0.9375 +0.4688 0.375 0.9688 +0.4688 0.375 1 +0.4688 0.4062 0 +0.4688 0.4062 0.03125 +0.4688 0.4062 0.0625 +0.4688 0.4062 0.09375 +0.4688 0.4062 0.125 +0.4688 0.4062 0.1562 +0.4688 0.4062 0.1875 +0.4688 0.4062 0.2188 +0.4688 0.4062 0.25 +0.4688 0.4062 0.2812 +0.4688 0.4062 0.3125 +0.4688 0.4062 0.3438 +0.4688 0.4062 0.375 +0.4688 0.4062 0.4062 +0.4688 0.4062 0.4375 +0.4688 0.4062 0.4688 +0.4688 0.4062 0.5 +0.4688 0.4062 0.5312 +0.4688 0.4062 0.5625 +0.4688 0.4062 0.5938 +0.4688 0.4062 0.625 +0.4688 0.4062 0.6562 +0.4688 0.4062 0.6875 +0.4688 0.4062 0.7188 +0.4688 0.4062 0.75 +0.4688 0.4062 0.7812 +0.4688 0.4062 0.8125 +0.4688 0.4062 0.8438 +0.4688 0.4062 0.875 +0.4688 0.4062 0.9062 +0.4688 0.4062 0.9375 +0.4688 0.4062 0.9688 +0.4688 0.4062 1 +0.4688 0.4375 0 +0.4688 0.4375 0.03125 +0.4688 0.4375 0.0625 +0.4688 0.4375 0.09375 +0.4688 0.4375 0.125 +0.4688 0.4375 0.1562 +0.4688 0.4375 0.1875 +0.4688 0.4375 0.2188 +0.4688 0.4375 0.25 +0.4688 0.4375 0.2812 +0.4688 0.4375 0.3125 +0.4688 0.4375 0.3438 +0.4688 0.4375 0.375 +0.4688 0.4375 0.4062 +0.4688 0.4375 0.4375 +0.4688 0.4375 0.4688 +0.4688 0.4375 0.5 +0.4688 0.4375 0.5312 +0.4688 0.4375 0.5625 +0.4688 0.4375 0.5938 +0.4688 0.4375 0.625 +0.4688 0.4375 0.6562 +0.4688 0.4375 0.6875 +0.4688 0.4375 0.7188 +0.4688 0.4375 0.75 +0.4688 0.4375 0.7812 +0.4688 0.4375 0.8125 +0.4688 0.4375 0.8438 +0.4688 0.4375 0.875 +0.4688 0.4375 0.9062 +0.4688 0.4375 0.9375 +0.4688 0.4375 0.9688 +0.4688 0.4375 1 +0.4688 0.4688 0 +0.4688 0.4688 0.03125 +0.4688 0.4688 0.0625 +0.4688 0.4688 0.09375 +0.4688 0.4688 0.125 +0.4688 0.4688 0.1562 +0.4688 0.4688 0.1875 +0.4688 0.4688 0.2188 +0.4688 0.4688 0.25 +0.4688 0.4688 0.2812 +0.4688 0.4688 0.3125 +0.4688 0.4688 0.3438 +0.4688 0.4688 0.375 +0.4688 0.4688 0.4062 +0.4688 0.4688 0.4375 +0.4688 0.4688 0.4688 +0.4688 0.4688 0.5 +0.4688 0.4688 0.5312 +0.4688 0.4688 0.5625 +0.4688 0.4688 0.5938 +0.4688 0.4688 0.625 +0.4688 0.4688 0.6562 +0.4688 0.4688 0.6875 +0.4688 0.4688 0.7188 +0.4688 0.4688 0.75 +0.4688 0.4688 0.7812 +0.4688 0.4688 0.8125 +0.4688 0.4688 0.8438 +0.4688 0.4688 0.875 +0.4688 0.4688 0.9062 +0.4688 0.4688 0.9375 +0.4688 0.4688 0.9688 +0.4688 0.4688 1 +0.4688 0.5 0 +0.4688 0.5 0.03125 +0.4688 0.5 0.0625 +0.4688 0.5 0.09375 +0.4688 0.5 0.125 +0.4688 0.5 0.1562 +0.4688 0.5 0.1875 +0.4688 0.5 0.2188 +0.4688 0.5 0.25 +0.4688 0.5 0.2812 +0.4688 0.5 0.3125 +0.4688 0.5 0.3438 +0.4688 0.5 0.375 +0.4688 0.5 0.4062 +0.4688 0.5 0.4375 +0.4688 0.5 0.4688 +0.4688 0.5 0.5 +0.4688 0.5 0.5312 +0.4688 0.5 0.5625 +0.4688 0.5 0.5938 +0.4688 0.5 0.625 +0.4688 0.5 0.6562 +0.4688 0.5 0.6875 +0.4688 0.5 0.7188 +0.4688 0.5 0.75 +0.4688 0.5 0.7812 +0.4688 0.5 0.8125 +0.4688 0.5 0.8438 +0.4688 0.5 0.875 +0.4688 0.5 0.9062 +0.4688 0.5 0.9375 +0.4688 0.5 0.9688 +0.4688 0.5 1 +0.4688 0.5312 0 +0.4688 0.5312 0.03125 +0.4688 0.5312 0.0625 +0.4688 0.5312 0.09375 +0.4688 0.5312 0.125 +0.4688 0.5312 0.1562 +0.4688 0.5312 0.1875 +0.4688 0.5312 0.2188 +0.4688 0.5312 0.25 +0.4688 0.5312 0.2812 +0.4688 0.5312 0.3125 +0.4688 0.5312 0.3438 +0.4688 0.5312 0.375 +0.4688 0.5312 0.4062 +0.4688 0.5312 0.4375 +0.4688 0.5312 0.4688 +0.4688 0.5312 0.5 +0.4688 0.5312 0.5312 +0.4688 0.5312 0.5625 +0.4688 0.5312 0.5938 +0.4688 0.5312 0.625 +0.4688 0.5312 0.6562 +0.4688 0.5312 0.6875 +0.4688 0.5312 0.7188 +0.4688 0.5312 0.75 +0.4688 0.5312 0.7812 +0.4688 0.5312 0.8125 +0.4688 0.5312 0.8438 +0.4688 0.5312 0.875 +0.4688 0.5312 0.9062 +0.4688 0.5312 0.9375 +0.4688 0.5312 0.9688 +0.4688 0.5312 1 +0.4688 0.5625 0 +0.4688 0.5625 0.03125 +0.4688 0.5625 0.0625 +0.4688 0.5625 0.09375 +0.4688 0.5625 0.125 +0.4688 0.5625 0.1562 +0.4688 0.5625 0.1875 +0.4688 0.5625 0.2188 +0.4688 0.5625 0.25 +0.4688 0.5625 0.2812 +0.4688 0.5625 0.3125 +0.4688 0.5625 0.3438 +0.4688 0.5625 0.375 +0.4688 0.5625 0.4062 +0.4688 0.5625 0.4375 +0.4688 0.5625 0.4688 +0.4688 0.5625 0.5 +0.4688 0.5625 0.5312 +0.4688 0.5625 0.5625 +0.4688 0.5625 0.5938 +0.4688 0.5625 0.625 +0.4688 0.5625 0.6562 +0.4688 0.5625 0.6875 +0.4688 0.5625 0.7188 +0.4688 0.5625 0.75 +0.4688 0.5625 0.7812 +0.4688 0.5625 0.8125 +0.4688 0.5625 0.8438 +0.4688 0.5625 0.875 +0.4688 0.5625 0.9062 +0.4688 0.5625 0.9375 +0.4688 0.5625 0.9688 +0.4688 0.5625 1 +0.4688 0.5938 0 +0.4688 0.5938 0.03125 +0.4688 0.5938 0.0625 +0.4688 0.5938 0.09375 +0.4688 0.5938 0.125 +0.4688 0.5938 0.1562 +0.4688 0.5938 0.1875 +0.4688 0.5938 0.2188 +0.4688 0.5938 0.25 +0.4688 0.5938 0.2812 +0.4688 0.5938 0.3125 +0.4688 0.5938 0.3438 +0.4688 0.5938 0.375 +0.4688 0.5938 0.4062 +0.4688 0.5938 0.4375 +0.4688 0.5938 0.4688 +0.4688 0.5938 0.5 +0.4688 0.5938 0.5312 +0.4688 0.5938 0.5625 +0.4688 0.5938 0.5938 +0.4688 0.5938 0.625 +0.4688 0.5938 0.6562 +0.4688 0.5938 0.6875 +0.4688 0.5938 0.7188 +0.4688 0.5938 0.75 +0.4688 0.5938 0.7812 +0.4688 0.5938 0.8125 +0.4688 0.5938 0.8438 +0.4688 0.5938 0.875 +0.4688 0.5938 0.9062 +0.4688 0.5938 0.9375 +0.4688 0.5938 0.9688 +0.4688 0.5938 1 +0.4688 0.625 0 +0.4688 0.625 0.03125 +0.4688 0.625 0.0625 +0.4688 0.625 0.09375 +0.4688 0.625 0.125 +0.4688 0.625 0.1562 +0.4688 0.625 0.1875 +0.4688 0.625 0.2188 +0.4688 0.625 0.25 +0.4688 0.625 0.2812 +0.4688 0.625 0.3125 +0.4688 0.625 0.3438 +0.4688 0.625 0.375 +0.4688 0.625 0.4062 +0.4688 0.625 0.4375 +0.4688 0.625 0.4688 +0.4688 0.625 0.5 +0.4688 0.625 0.5312 +0.4688 0.625 0.5625 +0.4688 0.625 0.5938 +0.4688 0.625 0.625 +0.4688 0.625 0.6562 +0.4688 0.625 0.6875 +0.4688 0.625 0.7188 +0.4688 0.625 0.75 +0.4688 0.625 0.7812 +0.4688 0.625 0.8125 +0.4688 0.625 0.8438 +0.4688 0.625 0.875 +0.4688 0.625 0.9062 +0.4688 0.625 0.9375 +0.4688 0.625 0.9688 +0.4688 0.625 1 +0.4688 0.6562 0 +0.4688 0.6562 0.03125 +0.4688 0.6562 0.0625 +0.4688 0.6562 0.09375 +0.4688 0.6562 0.125 +0.4688 0.6562 0.1562 +0.4688 0.6562 0.1875 +0.4688 0.6562 0.2188 +0.4688 0.6562 0.25 +0.4688 0.6562 0.2812 +0.4688 0.6562 0.3125 +0.4688 0.6562 0.3438 +0.4688 0.6562 0.375 +0.4688 0.6562 0.4062 +0.4688 0.6562 0.4375 +0.4688 0.6562 0.4688 +0.4688 0.6562 0.5 +0.4688 0.6562 0.5312 +0.4688 0.6562 0.5625 +0.4688 0.6562 0.5938 +0.4688 0.6562 0.625 +0.4688 0.6562 0.6562 +0.4688 0.6562 0.6875 +0.4688 0.6562 0.7188 +0.4688 0.6562 0.75 +0.4688 0.6562 0.7812 +0.4688 0.6562 0.8125 +0.4688 0.6562 0.8438 +0.4688 0.6562 0.875 +0.4688 0.6562 0.9062 +0.4688 0.6562 0.9375 +0.4688 0.6562 0.9688 +0.4688 0.6562 1 +0.4688 0.6875 0 +0.4688 0.6875 0.03125 +0.4688 0.6875 0.0625 +0.4688 0.6875 0.09375 +0.4688 0.6875 0.125 +0.4688 0.6875 0.1562 +0.4688 0.6875 0.1875 +0.4688 0.6875 0.2188 +0.4688 0.6875 0.25 +0.4688 0.6875 0.2812 +0.4688 0.6875 0.3125 +0.4688 0.6875 0.3438 +0.4688 0.6875 0.375 +0.4688 0.6875 0.4062 +0.4688 0.6875 0.4375 +0.4688 0.6875 0.4688 +0.4688 0.6875 0.5 +0.4688 0.6875 0.5312 +0.4688 0.6875 0.5625 +0.4688 0.6875 0.5938 +0.4688 0.6875 0.625 +0.4688 0.6875 0.6562 +0.4688 0.6875 0.6875 +0.4688 0.6875 0.7188 +0.4688 0.6875 0.75 +0.4688 0.6875 0.7812 +0.4688 0.6875 0.8125 +0.4688 0.6875 0.8438 +0.4688 0.6875 0.875 +0.4688 0.6875 0.9062 +0.4688 0.6875 0.9375 +0.4688 0.6875 0.9688 +0.4688 0.6875 1 +0.4688 0.7188 0 +0.4688 0.7188 0.03125 +0.4688 0.7188 0.0625 +0.4688 0.7188 0.09375 +0.4688 0.7188 0.125 +0.4688 0.7188 0.1562 +0.4688 0.7188 0.1875 +0.4688 0.7188 0.2188 +0.4688 0.7188 0.25 +0.4688 0.7188 0.2812 +0.4688 0.7188 0.3125 +0.4688 0.7188 0.3438 +0.4688 0.7188 0.375 +0.4688 0.7188 0.4062 +0.4688 0.7188 0.4375 +0.4688 0.7188 0.4688 +0.4688 0.7188 0.5 +0.4688 0.7188 0.5312 +0.4688 0.7188 0.5625 +0.4688 0.7188 0.5938 +0.4688 0.7188 0.625 +0.4688 0.7188 0.6562 +0.4688 0.7188 0.6875 +0.4688 0.7188 0.7188 +0.4688 0.7188 0.75 +0.4688 0.7188 0.7812 +0.4688 0.7188 0.8125 +0.4688 0.7188 0.8438 +0.4688 0.7188 0.875 +0.4688 0.7188 0.9062 +0.4688 0.7188 0.9375 +0.4688 0.7188 0.9688 +0.4688 0.7188 1 +0.4688 0.75 0 +0.4688 0.75 0.03125 +0.4688 0.75 0.0625 +0.4688 0.75 0.09375 +0.4688 0.75 0.125 +0.4688 0.75 0.1562 +0.4688 0.75 0.1875 +0.4688 0.75 0.2188 +0.4688 0.75 0.25 +0.4688 0.75 0.2812 +0.4688 0.75 0.3125 +0.4688 0.75 0.3438 +0.4688 0.75 0.375 +0.4688 0.75 0.4062 +0.4688 0.75 0.4375 +0.4688 0.75 0.4688 +0.4688 0.75 0.5 +0.4688 0.75 0.5312 +0.4688 0.75 0.5625 +0.4688 0.75 0.5938 +0.4688 0.75 0.625 +0.4688 0.75 0.6562 +0.4688 0.75 0.6875 +0.4688 0.75 0.7188 +0.4688 0.75 0.75 +0.4688 0.75 0.7812 +0.4688 0.75 0.8125 +0.4688 0.75 0.8438 +0.4688 0.75 0.875 +0.4688 0.75 0.9062 +0.4688 0.75 0.9375 +0.4688 0.75 0.9688 +0.4688 0.75 1 +0.4688 0.7812 0 +0.4688 0.7812 0.03125 +0.4688 0.7812 0.0625 +0.4688 0.7812 0.09375 +0.4688 0.7812 0.125 +0.4688 0.7812 0.1562 +0.4688 0.7812 0.1875 +0.4688 0.7812 0.2188 +0.4688 0.7812 0.25 +0.4688 0.7812 0.2812 +0.4688 0.7812 0.3125 +0.4688 0.7812 0.3438 +0.4688 0.7812 0.375 +0.4688 0.7812 0.4062 +0.4688 0.7812 0.4375 +0.4688 0.7812 0.4688 +0.4688 0.7812 0.5 +0.4688 0.7812 0.5312 +0.4688 0.7812 0.5625 +0.4688 0.7812 0.5938 +0.4688 0.7812 0.625 +0.4688 0.7812 0.6562 +0.4688 0.7812 0.6875 +0.4688 0.7812 0.7188 +0.4688 0.7812 0.75 +0.4688 0.7812 0.7812 +0.4688 0.7812 0.8125 +0.4688 0.7812 0.8438 +0.4688 0.7812 0.875 +0.4688 0.7812 0.9062 +0.4688 0.7812 0.9375 +0.4688 0.7812 0.9688 +0.4688 0.7812 1 +0.4688 0.8125 0 +0.4688 0.8125 0.03125 +0.4688 0.8125 0.0625 +0.4688 0.8125 0.09375 +0.4688 0.8125 0.125 +0.4688 0.8125 0.1562 +0.4688 0.8125 0.1875 +0.4688 0.8125 0.2188 +0.4688 0.8125 0.25 +0.4688 0.8125 0.2812 +0.4688 0.8125 0.3125 +0.4688 0.8125 0.3438 +0.4688 0.8125 0.375 +0.4688 0.8125 0.4062 +0.4688 0.8125 0.4375 +0.4688 0.8125 0.4688 +0.4688 0.8125 0.5 +0.4688 0.8125 0.5312 +0.4688 0.8125 0.5625 +0.4688 0.8125 0.5938 +0.4688 0.8125 0.625 +0.4688 0.8125 0.6562 +0.4688 0.8125 0.6875 +0.4688 0.8125 0.7188 +0.4688 0.8125 0.75 +0.4688 0.8125 0.7812 +0.4688 0.8125 0.8125 +0.4688 0.8125 0.8438 +0.4688 0.8125 0.875 +0.4688 0.8125 0.9062 +0.4688 0.8125 0.9375 +0.4688 0.8125 0.9688 +0.4688 0.8125 1 +0.4688 0.8438 0 +0.4688 0.8438 0.03125 +0.4688 0.8438 0.0625 +0.4688 0.8438 0.09375 +0.4688 0.8438 0.125 +0.4688 0.8438 0.1562 +0.4688 0.8438 0.1875 +0.4688 0.8438 0.2188 +0.4688 0.8438 0.25 +0.4688 0.8438 0.2812 +0.4688 0.8438 0.3125 +0.4688 0.8438 0.3438 +0.4688 0.8438 0.375 +0.4688 0.8438 0.4062 +0.4688 0.8438 0.4375 +0.4688 0.8438 0.4688 +0.4688 0.8438 0.5 +0.4688 0.8438 0.5312 +0.4688 0.8438 0.5625 +0.4688 0.8438 0.5938 +0.4688 0.8438 0.625 +0.4688 0.8438 0.6562 +0.4688 0.8438 0.6875 +0.4688 0.8438 0.7188 +0.4688 0.8438 0.75 +0.4688 0.8438 0.7812 +0.4688 0.8438 0.8125 +0.4688 0.8438 0.8438 +0.4688 0.8438 0.875 +0.4688 0.8438 0.9062 +0.4688 0.8438 0.9375 +0.4688 0.8438 0.9688 +0.4688 0.8438 1 +0.4688 0.875 0 +0.4688 0.875 0.03125 +0.4688 0.875 0.0625 +0.4688 0.875 0.09375 +0.4688 0.875 0.125 +0.4688 0.875 0.1562 +0.4688 0.875 0.1875 +0.4688 0.875 0.2188 +0.4688 0.875 0.25 +0.4688 0.875 0.2812 +0.4688 0.875 0.3125 +0.4688 0.875 0.3438 +0.4688 0.875 0.375 +0.4688 0.875 0.4062 +0.4688 0.875 0.4375 +0.4688 0.875 0.4688 +0.4688 0.875 0.5 +0.4688 0.875 0.5312 +0.4688 0.875 0.5625 +0.4688 0.875 0.5938 +0.4688 0.875 0.625 +0.4688 0.875 0.6562 +0.4688 0.875 0.6875 +0.4688 0.875 0.7188 +0.4688 0.875 0.75 +0.4688 0.875 0.7812 +0.4688 0.875 0.8125 +0.4688 0.875 0.8438 +0.4688 0.875 0.875 +0.4688 0.875 0.9062 +0.4688 0.875 0.9375 +0.4688 0.875 0.9688 +0.4688 0.875 1 +0.4688 0.9062 0 +0.4688 0.9062 0.03125 +0.4688 0.9062 0.0625 +0.4688 0.9062 0.09375 +0.4688 0.9062 0.125 +0.4688 0.9062 0.1562 +0.4688 0.9062 0.1875 +0.4688 0.9062 0.2188 +0.4688 0.9062 0.25 +0.4688 0.9062 0.2812 +0.4688 0.9062 0.3125 +0.4688 0.9062 0.3438 +0.4688 0.9062 0.375 +0.4688 0.9062 0.4062 +0.4688 0.9062 0.4375 +0.4688 0.9062 0.4688 +0.4688 0.9062 0.5 +0.4688 0.9062 0.5312 +0.4688 0.9062 0.5625 +0.4688 0.9062 0.5938 +0.4688 0.9062 0.625 +0.4688 0.9062 0.6562 +0.4688 0.9062 0.6875 +0.4688 0.9062 0.7188 +0.4688 0.9062 0.75 +0.4688 0.9062 0.7812 +0.4688 0.9062 0.8125 +0.4688 0.9062 0.8438 +0.4688 0.9062 0.875 +0.4688 0.9062 0.9062 +0.4688 0.9062 0.9375 +0.4688 0.9062 0.9688 +0.4688 0.9062 1 +0.4688 0.9375 0 +0.4688 0.9375 0.03125 +0.4688 0.9375 0.0625 +0.4688 0.9375 0.09375 +0.4688 0.9375 0.125 +0.4688 0.9375 0.1562 +0.4688 0.9375 0.1875 +0.4688 0.9375 0.2188 +0.4688 0.9375 0.25 +0.4688 0.9375 0.2812 +0.4688 0.9375 0.3125 +0.4688 0.9375 0.3438 +0.4688 0.9375 0.375 +0.4688 0.9375 0.4062 +0.4688 0.9375 0.4375 +0.4688 0.9375 0.4688 +0.4688 0.9375 0.5 +0.4688 0.9375 0.5312 +0.4688 0.9375 0.5625 +0.4688 0.9375 0.5938 +0.4688 0.9375 0.625 +0.4688 0.9375 0.6562 +0.4688 0.9375 0.6875 +0.4688 0.9375 0.7188 +0.4688 0.9375 0.75 +0.4688 0.9375 0.7812 +0.4688 0.9375 0.8125 +0.4688 0.9375 0.8438 +0.4688 0.9375 0.875 +0.4688 0.9375 0.9062 +0.4688 0.9375 0.9375 +0.4688 0.9375 0.9688 +0.4688 0.9375 1 +0.4688 0.9688 0 +0.4688 0.9688 0.03125 +0.4688 0.9688 0.0625 +0.4688 0.9688 0.09375 +0.4688 0.9688 0.125 +0.4688 0.9688 0.1562 +0.4688 0.9688 0.1875 +0.4688 0.9688 0.2188 +0.4688 0.9688 0.25 +0.4688 0.9688 0.2812 +0.4688 0.9688 0.3125 +0.4688 0.9688 0.3438 +0.4688 0.9688 0.375 +0.4688 0.9688 0.4062 +0.4688 0.9688 0.4375 +0.4688 0.9688 0.4688 +0.4688 0.9688 0.5 +0.4688 0.9688 0.5312 +0.4688 0.9688 0.5625 +0.4688 0.9688 0.5938 +0.4688 0.9688 0.625 +0.4688 0.9688 0.6562 +0.4688 0.9688 0.6875 +0.4688 0.9688 0.7188 +0.4688 0.9688 0.75 +0.4688 0.9688 0.7812 +0.4688 0.9688 0.8125 +0.4688 0.9688 0.8438 +0.4688 0.9688 0.875 +0.4688 0.9688 0.9062 +0.4688 0.9688 0.9375 +0.4688 0.9688 0.9688 +0.4688 0.9688 1 +0.4688 1 0 +0.4688 1 0.03125 +0.4688 1 0.0625 +0.4688 1 0.09375 +0.4688 1 0.125 +0.4688 1 0.1562 +0.4688 1 0.1875 +0.4688 1 0.2188 +0.4688 1 0.25 +0.4688 1 0.2812 +0.4688 1 0.3125 +0.4688 1 0.3438 +0.4688 1 0.375 +0.4688 1 0.4062 +0.4688 1 0.4375 +0.4688 1 0.4688 +0.4688 1 0.5 +0.4688 1 0.5312 +0.4688 1 0.5625 +0.4688 1 0.5938 +0.4688 1 0.625 +0.4688 1 0.6562 +0.4688 1 0.6875 +0.4688 1 0.7188 +0.4688 1 0.75 +0.4688 1 0.7812 +0.4688 1 0.8125 +0.4688 1 0.8438 +0.4688 1 0.875 +0.4688 1 0.9062 +0.4688 1 0.9375 +0.4688 1 0.9688 +0.4688 1 1 +0.5 0 0 +0.5 0 0.03125 +0.5 0 0.0625 +0.5 0 0.09375 +0.5 0 0.125 +0.5 0 0.1562 +0.5 0 0.1875 +0.5 0 0.2188 +0.5 0 0.25 +0.5 0 0.2812 +0.5 0 0.3125 +0.5 0 0.3438 +0.5 0 0.375 +0.5 0 0.4062 +0.5 0 0.4375 +0.5 0 0.4688 +0.5 0 0.5 +0.5 0 0.5312 +0.5 0 0.5625 +0.5 0 0.5938 +0.5 0 0.625 +0.5 0 0.6562 +0.5 0 0.6875 +0.5 0 0.7188 +0.5 0 0.75 +0.5 0 0.7812 +0.5 0 0.8125 +0.5 0 0.8438 +0.5 0 0.875 +0.5 0 0.9062 +0.5 0 0.9375 +0.5 0 0.9688 +0.5 0 1 +0.5 0.03125 0 +0.5 0.03125 0.03125 +0.5 0.03125 0.0625 +0.5 0.03125 0.09375 +0.5 0.03125 0.125 +0.5 0.03125 0.1562 +0.5 0.03125 0.1875 +0.5 0.03125 0.2188 +0.5 0.03125 0.25 +0.5 0.03125 0.2812 +0.5 0.03125 0.3125 +0.5 0.03125 0.3438 +0.5 0.03125 0.375 +0.5 0.03125 0.4062 +0.5 0.03125 0.4375 +0.5 0.03125 0.4688 +0.5 0.03125 0.5 +0.5 0.03125 0.5312 +0.5 0.03125 0.5625 +0.5 0.03125 0.5938 +0.5 0.03125 0.625 +0.5 0.03125 0.6562 +0.5 0.03125 0.6875 +0.5 0.03125 0.7188 +0.5 0.03125 0.75 +0.5 0.03125 0.7812 +0.5 0.03125 0.8125 +0.5 0.03125 0.8438 +0.5 0.03125 0.875 +0.5 0.03125 0.9062 +0.5 0.03125 0.9375 +0.5 0.03125 0.9688 +0.5 0.03125 1 +0.5 0.0625 0 +0.5 0.0625 0.03125 +0.5 0.0625 0.0625 +0.5 0.0625 0.09375 +0.5 0.0625 0.125 +0.5 0.0625 0.1562 +0.5 0.0625 0.1875 +0.5 0.0625 0.2188 +0.5 0.0625 0.25 +0.5 0.0625 0.2812 +0.5 0.0625 0.3125 +0.5 0.0625 0.3438 +0.5 0.0625 0.375 +0.5 0.0625 0.4062 +0.5 0.0625 0.4375 +0.5 0.0625 0.4688 +0.5 0.0625 0.5 +0.5 0.0625 0.5312 +0.5 0.0625 0.5625 +0.5 0.0625 0.5938 +0.5 0.0625 0.625 +0.5 0.0625 0.6562 +0.5 0.0625 0.6875 +0.5 0.0625 0.7188 +0.5 0.0625 0.75 +0.5 0.0625 0.7812 +0.5 0.0625 0.8125 +0.5 0.0625 0.8438 +0.5 0.0625 0.875 +0.5 0.0625 0.9062 +0.5 0.0625 0.9375 +0.5 0.0625 0.9688 +0.5 0.0625 1 +0.5 0.09375 0 +0.5 0.09375 0.03125 +0.5 0.09375 0.0625 +0.5 0.09375 0.09375 +0.5 0.09375 0.125 +0.5 0.09375 0.1562 +0.5 0.09375 0.1875 +0.5 0.09375 0.2188 +0.5 0.09375 0.25 +0.5 0.09375 0.2812 +0.5 0.09375 0.3125 +0.5 0.09375 0.3438 +0.5 0.09375 0.375 +0.5 0.09375 0.4062 +0.5 0.09375 0.4375 +0.5 0.09375 0.4688 +0.5 0.09375 0.5 +0.5 0.09375 0.5312 +0.5 0.09375 0.5625 +0.5 0.09375 0.5938 +0.5 0.09375 0.625 +0.5 0.09375 0.6562 +0.5 0.09375 0.6875 +0.5 0.09375 0.7188 +0.5 0.09375 0.75 +0.5 0.09375 0.7812 +0.5 0.09375 0.8125 +0.5 0.09375 0.8438 +0.5 0.09375 0.875 +0.5 0.09375 0.9062 +0.5 0.09375 0.9375 +0.5 0.09375 0.9688 +0.5 0.09375 1 +0.5 0.125 0 +0.5 0.125 0.03125 +0.5 0.125 0.0625 +0.5 0.125 0.09375 +0.5 0.125 0.125 +0.5 0.125 0.1562 +0.5 0.125 0.1875 +0.5 0.125 0.2188 +0.5 0.125 0.25 +0.5 0.125 0.2812 +0.5 0.125 0.3125 +0.5 0.125 0.3438 +0.5 0.125 0.375 +0.5 0.125 0.4062 +0.5 0.125 0.4375 +0.5 0.125 0.4688 +0.5 0.125 0.5 +0.5 0.125 0.5312 +0.5 0.125 0.5625 +0.5 0.125 0.5938 +0.5 0.125 0.625 +0.5 0.125 0.6562 +0.5 0.125 0.6875 +0.5 0.125 0.7188 +0.5 0.125 0.75 +0.5 0.125 0.7812 +0.5 0.125 0.8125 +0.5 0.125 0.8438 +0.5 0.125 0.875 +0.5 0.125 0.9062 +0.5 0.125 0.9375 +0.5 0.125 0.9688 +0.5 0.125 1 +0.5 0.1562 0 +0.5 0.1562 0.03125 +0.5 0.1562 0.0625 +0.5 0.1562 0.09375 +0.5 0.1562 0.125 +0.5 0.1562 0.1562 +0.5 0.1562 0.1875 +0.5 0.1562 0.2188 +0.5 0.1562 0.25 +0.5 0.1562 0.2812 +0.5 0.1562 0.3125 +0.5 0.1562 0.3438 +0.5 0.1562 0.375 +0.5 0.1562 0.4062 +0.5 0.1562 0.4375 +0.5 0.1562 0.4688 +0.5 0.1562 0.5 +0.5 0.1562 0.5312 +0.5 0.1562 0.5625 +0.5 0.1562 0.5938 +0.5 0.1562 0.625 +0.5 0.1562 0.6562 +0.5 0.1562 0.6875 +0.5 0.1562 0.7188 +0.5 0.1562 0.75 +0.5 0.1562 0.7812 +0.5 0.1562 0.8125 +0.5 0.1562 0.8438 +0.5 0.1562 0.875 +0.5 0.1562 0.9062 +0.5 0.1562 0.9375 +0.5 0.1562 0.9688 +0.5 0.1562 1 +0.5 0.1875 0 +0.5 0.1875 0.03125 +0.5 0.1875 0.0625 +0.5 0.1875 0.09375 +0.5 0.1875 0.125 +0.5 0.1875 0.1562 +0.5 0.1875 0.1875 +0.5 0.1875 0.2188 +0.5 0.1875 0.25 +0.5 0.1875 0.2812 +0.5 0.1875 0.3125 +0.5 0.1875 0.3438 +0.5 0.1875 0.375 +0.5 0.1875 0.4062 +0.5 0.1875 0.4375 +0.5 0.1875 0.4688 +0.5 0.1875 0.5 +0.5 0.1875 0.5312 +0.5 0.1875 0.5625 +0.5 0.1875 0.5938 +0.5 0.1875 0.625 +0.5 0.1875 0.6562 +0.5 0.1875 0.6875 +0.5 0.1875 0.7188 +0.5 0.1875 0.75 +0.5 0.1875 0.7812 +0.5 0.1875 0.8125 +0.5 0.1875 0.8438 +0.5 0.1875 0.875 +0.5 0.1875 0.9062 +0.5 0.1875 0.9375 +0.5 0.1875 0.9688 +0.5 0.1875 1 +0.5 0.2188 0 +0.5 0.2188 0.03125 +0.5 0.2188 0.0625 +0.5 0.2188 0.09375 +0.5 0.2188 0.125 +0.5 0.2188 0.1562 +0.5 0.2188 0.1875 +0.5 0.2188 0.2188 +0.5 0.2188 0.25 +0.5 0.2188 0.2812 +0.5 0.2188 0.3125 +0.5 0.2188 0.3438 +0.5 0.2188 0.375 +0.5 0.2188 0.4062 +0.5 0.2188 0.4375 +0.5 0.2188 0.4688 +0.5 0.2188 0.5 +0.5 0.2188 0.5312 +0.5 0.2188 0.5625 +0.5 0.2188 0.5938 +0.5 0.2188 0.625 +0.5 0.2188 0.6562 +0.5 0.2188 0.6875 +0.5 0.2188 0.7188 +0.5 0.2188 0.75 +0.5 0.2188 0.7812 +0.5 0.2188 0.8125 +0.5 0.2188 0.8438 +0.5 0.2188 0.875 +0.5 0.2188 0.9062 +0.5 0.2188 0.9375 +0.5 0.2188 0.9688 +0.5 0.2188 1 +0.5 0.25 0 +0.5 0.25 0.03125 +0.5 0.25 0.0625 +0.5 0.25 0.09375 +0.5 0.25 0.125 +0.5 0.25 0.1562 +0.5 0.25 0.1875 +0.5 0.25 0.2188 +0.5 0.25 0.25 +0.5 0.25 0.2812 +0.5 0.25 0.3125 +0.5 0.25 0.3438 +0.5 0.25 0.375 +0.5 0.25 0.4062 +0.5 0.25 0.4375 +0.5 0.25 0.4688 +0.5 0.25 0.5 +0.5 0.25 0.5312 +0.5 0.25 0.5625 +0.5 0.25 0.5938 +0.5 0.25 0.625 +0.5 0.25 0.6562 +0.5 0.25 0.6875 +0.5 0.25 0.7188 +0.5 0.25 0.75 +0.5 0.25 0.7812 +0.5 0.25 0.8125 +0.5 0.25 0.8438 +0.5 0.25 0.875 +0.5 0.25 0.9062 +0.5 0.25 0.9375 +0.5 0.25 0.9688 +0.5 0.25 1 +0.5 0.2812 0 +0.5 0.2812 0.03125 +0.5 0.2812 0.0625 +0.5 0.2812 0.09375 +0.5 0.2812 0.125 +0.5 0.2812 0.1562 +0.5 0.2812 0.1875 +0.5 0.2812 0.2188 +0.5 0.2812 0.25 +0.5 0.2812 0.2812 +0.5 0.2812 0.3125 +0.5 0.2812 0.3438 +0.5 0.2812 0.375 +0.5 0.2812 0.4062 +0.5 0.2812 0.4375 +0.5 0.2812 0.4688 +0.5 0.2812 0.5 +0.5 0.2812 0.5312 +0.5 0.2812 0.5625 +0.5 0.2812 0.5938 +0.5 0.2812 0.625 +0.5 0.2812 0.6562 +0.5 0.2812 0.6875 +0.5 0.2812 0.7188 +0.5 0.2812 0.75 +0.5 0.2812 0.7812 +0.5 0.2812 0.8125 +0.5 0.2812 0.8438 +0.5 0.2812 0.875 +0.5 0.2812 0.9062 +0.5 0.2812 0.9375 +0.5 0.2812 0.9688 +0.5 0.2812 1 +0.5 0.3125 0 +0.5 0.3125 0.03125 +0.5 0.3125 0.0625 +0.5 0.3125 0.09375 +0.5 0.3125 0.125 +0.5 0.3125 0.1562 +0.5 0.3125 0.1875 +0.5 0.3125 0.2188 +0.5 0.3125 0.25 +0.5 0.3125 0.2812 +0.5 0.3125 0.3125 +0.5 0.3125 0.3438 +0.5 0.3125 0.375 +0.5 0.3125 0.4062 +0.5 0.3125 0.4375 +0.5 0.3125 0.4688 +0.5 0.3125 0.5 +0.5 0.3125 0.5312 +0.5 0.3125 0.5625 +0.5 0.3125 0.5938 +0.5 0.3125 0.625 +0.5 0.3125 0.6562 +0.5 0.3125 0.6875 +0.5 0.3125 0.7188 +0.5 0.3125 0.75 +0.5 0.3125 0.7812 +0.5 0.3125 0.8125 +0.5 0.3125 0.8438 +0.5 0.3125 0.875 +0.5 0.3125 0.9062 +0.5 0.3125 0.9375 +0.5 0.3125 0.9688 +0.5 0.3125 1 +0.5 0.3438 0 +0.5 0.3438 0.03125 +0.5 0.3438 0.0625 +0.5 0.3438 0.09375 +0.5 0.3438 0.125 +0.5 0.3438 0.1562 +0.5 0.3438 0.1875 +0.5 0.3438 0.2188 +0.5 0.3438 0.25 +0.5 0.3438 0.2812 +0.5 0.3438 0.3125 +0.5 0.3438 0.3438 +0.5 0.3438 0.375 +0.5 0.3438 0.4062 +0.5 0.3438 0.4375 +0.5 0.3438 0.4688 +0.5 0.3438 0.5 +0.5 0.3438 0.5312 +0.5 0.3438 0.5625 +0.5 0.3438 0.5938 +0.5 0.3438 0.625 +0.5 0.3438 0.6562 +0.5 0.3438 0.6875 +0.5 0.3438 0.7188 +0.5 0.3438 0.75 +0.5 0.3438 0.7812 +0.5 0.3438 0.8125 +0.5 0.3438 0.8438 +0.5 0.3438 0.875 +0.5 0.3438 0.9062 +0.5 0.3438 0.9375 +0.5 0.3438 0.9688 +0.5 0.3438 1 +0.5 0.375 0 +0.5 0.375 0.03125 +0.5 0.375 0.0625 +0.5 0.375 0.09375 +0.5 0.375 0.125 +0.5 0.375 0.1562 +0.5 0.375 0.1875 +0.5 0.375 0.2188 +0.5 0.375 0.25 +0.5 0.375 0.2812 +0.5 0.375 0.3125 +0.5 0.375 0.3438 +0.5 0.375 0.375 +0.5 0.375 0.4062 +0.5 0.375 0.4375 +0.5 0.375 0.4688 +0.5 0.375 0.5 +0.5 0.375 0.5312 +0.5 0.375 0.5625 +0.5 0.375 0.5938 +0.5 0.375 0.625 +0.5 0.375 0.6562 +0.5 0.375 0.6875 +0.5 0.375 0.7188 +0.5 0.375 0.75 +0.5 0.375 0.7812 +0.5 0.375 0.8125 +0.5 0.375 0.8438 +0.5 0.375 0.875 +0.5 0.375 0.9062 +0.5 0.375 0.9375 +0.5 0.375 0.9688 +0.5 0.375 1 +0.5 0.4062 0 +0.5 0.4062 0.03125 +0.5 0.4062 0.0625 +0.5 0.4062 0.09375 +0.5 0.4062 0.125 +0.5 0.4062 0.1562 +0.5 0.4062 0.1875 +0.5 0.4062 0.2188 +0.5 0.4062 0.25 +0.5 0.4062 0.2812 +0.5 0.4062 0.3125 +0.5 0.4062 0.3438 +0.5 0.4062 0.375 +0.5 0.4062 0.4062 +0.5 0.4062 0.4375 +0.5 0.4062 0.4688 +0.5 0.4062 0.5 +0.5 0.4062 0.5312 +0.5 0.4062 0.5625 +0.5 0.4062 0.5938 +0.5 0.4062 0.625 +0.5 0.4062 0.6562 +0.5 0.4062 0.6875 +0.5 0.4062 0.7188 +0.5 0.4062 0.75 +0.5 0.4062 0.7812 +0.5 0.4062 0.8125 +0.5 0.4062 0.8438 +0.5 0.4062 0.875 +0.5 0.4062 0.9062 +0.5 0.4062 0.9375 +0.5 0.4062 0.9688 +0.5 0.4062 1 +0.5 0.4375 0 +0.5 0.4375 0.03125 +0.5 0.4375 0.0625 +0.5 0.4375 0.09375 +0.5 0.4375 0.125 +0.5 0.4375 0.1562 +0.5 0.4375 0.1875 +0.5 0.4375 0.2188 +0.5 0.4375 0.25 +0.5 0.4375 0.2812 +0.5 0.4375 0.3125 +0.5 0.4375 0.3438 +0.5 0.4375 0.375 +0.5 0.4375 0.4062 +0.5 0.4375 0.4375 +0.5 0.4375 0.4688 +0.5 0.4375 0.5 +0.5 0.4375 0.5312 +0.5 0.4375 0.5625 +0.5 0.4375 0.5938 +0.5 0.4375 0.625 +0.5 0.4375 0.6562 +0.5 0.4375 0.6875 +0.5 0.4375 0.7188 +0.5 0.4375 0.75 +0.5 0.4375 0.7812 +0.5 0.4375 0.8125 +0.5 0.4375 0.8438 +0.5 0.4375 0.875 +0.5 0.4375 0.9062 +0.5 0.4375 0.9375 +0.5 0.4375 0.9688 +0.5 0.4375 1 +0.5 0.4688 0 +0.5 0.4688 0.03125 +0.5 0.4688 0.0625 +0.5 0.4688 0.09375 +0.5 0.4688 0.125 +0.5 0.4688 0.1562 +0.5 0.4688 0.1875 +0.5 0.4688 0.2188 +0.5 0.4688 0.25 +0.5 0.4688 0.2812 +0.5 0.4688 0.3125 +0.5 0.4688 0.3438 +0.5 0.4688 0.375 +0.5 0.4688 0.4062 +0.5 0.4688 0.4375 +0.5 0.4688 0.4688 +0.5 0.4688 0.5 +0.5 0.4688 0.5312 +0.5 0.4688 0.5625 +0.5 0.4688 0.5938 +0.5 0.4688 0.625 +0.5 0.4688 0.6562 +0.5 0.4688 0.6875 +0.5 0.4688 0.7188 +0.5 0.4688 0.75 +0.5 0.4688 0.7812 +0.5 0.4688 0.8125 +0.5 0.4688 0.8438 +0.5 0.4688 0.875 +0.5 0.4688 0.9062 +0.5 0.4688 0.9375 +0.5 0.4688 0.9688 +0.5 0.4688 1 +0.5 0.5 0 +0.5 0.5 0.03125 +0.5 0.5 0.0625 +0.5 0.5 0.09375 +0.5 0.5 0.125 +0.5 0.5 0.1562 +0.5 0.5 0.1875 +0.5 0.5 0.2188 +0.5 0.5 0.25 +0.5 0.5 0.2812 +0.5 0.5 0.3125 +0.5 0.5 0.3438 +0.5 0.5 0.375 +0.5 0.5 0.4062 +0.5 0.5 0.4375 +0.5 0.5 0.4688 +0.5 0.5 0.5 +0.5 0.5 0.5312 +0.5 0.5 0.5625 +0.5 0.5 0.5938 +0.5 0.5 0.625 +0.5 0.5 0.6562 +0.5 0.5 0.6875 +0.5 0.5 0.7188 +0.5 0.5 0.75 +0.5 0.5 0.7812 +0.5 0.5 0.8125 +0.5 0.5 0.8438 +0.5 0.5 0.875 +0.5 0.5 0.9062 +0.5 0.5 0.9375 +0.5 0.5 0.9688 +0.5 0.5 1 +0.5 0.5312 0 +0.5 0.5312 0.03125 +0.5 0.5312 0.0625 +0.5 0.5312 0.09375 +0.5 0.5312 0.125 +0.5 0.5312 0.1562 +0.5 0.5312 0.1875 +0.5 0.5312 0.2188 +0.5 0.5312 0.25 +0.5 0.5312 0.2812 +0.5 0.5312 0.3125 +0.5 0.5312 0.3438 +0.5 0.5312 0.375 +0.5 0.5312 0.4062 +0.5 0.5312 0.4375 +0.5 0.5312 0.4688 +0.5 0.5312 0.5 +0.5 0.5312 0.5312 +0.5 0.5312 0.5625 +0.5 0.5312 0.5938 +0.5 0.5312 0.625 +0.5 0.5312 0.6562 +0.5 0.5312 0.6875 +0.5 0.5312 0.7188 +0.5 0.5312 0.75 +0.5 0.5312 0.7812 +0.5 0.5312 0.8125 +0.5 0.5312 0.8438 +0.5 0.5312 0.875 +0.5 0.5312 0.9062 +0.5 0.5312 0.9375 +0.5 0.5312 0.9688 +0.5 0.5312 1 +0.5 0.5625 0 +0.5 0.5625 0.03125 +0.5 0.5625 0.0625 +0.5 0.5625 0.09375 +0.5 0.5625 0.125 +0.5 0.5625 0.1562 +0.5 0.5625 0.1875 +0.5 0.5625 0.2188 +0.5 0.5625 0.25 +0.5 0.5625 0.2812 +0.5 0.5625 0.3125 +0.5 0.5625 0.3438 +0.5 0.5625 0.375 +0.5 0.5625 0.4062 +0.5 0.5625 0.4375 +0.5 0.5625 0.4688 +0.5 0.5625 0.5 +0.5 0.5625 0.5312 +0.5 0.5625 0.5625 +0.5 0.5625 0.5938 +0.5 0.5625 0.625 +0.5 0.5625 0.6562 +0.5 0.5625 0.6875 +0.5 0.5625 0.7188 +0.5 0.5625 0.75 +0.5 0.5625 0.7812 +0.5 0.5625 0.8125 +0.5 0.5625 0.8438 +0.5 0.5625 0.875 +0.5 0.5625 0.9062 +0.5 0.5625 0.9375 +0.5 0.5625 0.9688 +0.5 0.5625 1 +0.5 0.5938 0 +0.5 0.5938 0.03125 +0.5 0.5938 0.0625 +0.5 0.5938 0.09375 +0.5 0.5938 0.125 +0.5 0.5938 0.1562 +0.5 0.5938 0.1875 +0.5 0.5938 0.2188 +0.5 0.5938 0.25 +0.5 0.5938 0.2812 +0.5 0.5938 0.3125 +0.5 0.5938 0.3438 +0.5 0.5938 0.375 +0.5 0.5938 0.4062 +0.5 0.5938 0.4375 +0.5 0.5938 0.4688 +0.5 0.5938 0.5 +0.5 0.5938 0.5312 +0.5 0.5938 0.5625 +0.5 0.5938 0.5938 +0.5 0.5938 0.625 +0.5 0.5938 0.6562 +0.5 0.5938 0.6875 +0.5 0.5938 0.7188 +0.5 0.5938 0.75 +0.5 0.5938 0.7812 +0.5 0.5938 0.8125 +0.5 0.5938 0.8438 +0.5 0.5938 0.875 +0.5 0.5938 0.9062 +0.5 0.5938 0.9375 +0.5 0.5938 0.9688 +0.5 0.5938 1 +0.5 0.625 0 +0.5 0.625 0.03125 +0.5 0.625 0.0625 +0.5 0.625 0.09375 +0.5 0.625 0.125 +0.5 0.625 0.1562 +0.5 0.625 0.1875 +0.5 0.625 0.2188 +0.5 0.625 0.25 +0.5 0.625 0.2812 +0.5 0.625 0.3125 +0.5 0.625 0.3438 +0.5 0.625 0.375 +0.5 0.625 0.4062 +0.5 0.625 0.4375 +0.5 0.625 0.4688 +0.5 0.625 0.5 +0.5 0.625 0.5312 +0.5 0.625 0.5625 +0.5 0.625 0.5938 +0.5 0.625 0.625 +0.5 0.625 0.6562 +0.5 0.625 0.6875 +0.5 0.625 0.7188 +0.5 0.625 0.75 +0.5 0.625 0.7812 +0.5 0.625 0.8125 +0.5 0.625 0.8438 +0.5 0.625 0.875 +0.5 0.625 0.9062 +0.5 0.625 0.9375 +0.5 0.625 0.9688 +0.5 0.625 1 +0.5 0.6562 0 +0.5 0.6562 0.03125 +0.5 0.6562 0.0625 +0.5 0.6562 0.09375 +0.5 0.6562 0.125 +0.5 0.6562 0.1562 +0.5 0.6562 0.1875 +0.5 0.6562 0.2188 +0.5 0.6562 0.25 +0.5 0.6562 0.2812 +0.5 0.6562 0.3125 +0.5 0.6562 0.3438 +0.5 0.6562 0.375 +0.5 0.6562 0.4062 +0.5 0.6562 0.4375 +0.5 0.6562 0.4688 +0.5 0.6562 0.5 +0.5 0.6562 0.5312 +0.5 0.6562 0.5625 +0.5 0.6562 0.5938 +0.5 0.6562 0.625 +0.5 0.6562 0.6562 +0.5 0.6562 0.6875 +0.5 0.6562 0.7188 +0.5 0.6562 0.75 +0.5 0.6562 0.7812 +0.5 0.6562 0.8125 +0.5 0.6562 0.8438 +0.5 0.6562 0.875 +0.5 0.6562 0.9062 +0.5 0.6562 0.9375 +0.5 0.6562 0.9688 +0.5 0.6562 1 +0.5 0.6875 0 +0.5 0.6875 0.03125 +0.5 0.6875 0.0625 +0.5 0.6875 0.09375 +0.5 0.6875 0.125 +0.5 0.6875 0.1562 +0.5 0.6875 0.1875 +0.5 0.6875 0.2188 +0.5 0.6875 0.25 +0.5 0.6875 0.2812 +0.5 0.6875 0.3125 +0.5 0.6875 0.3438 +0.5 0.6875 0.375 +0.5 0.6875 0.4062 +0.5 0.6875 0.4375 +0.5 0.6875 0.4688 +0.5 0.6875 0.5 +0.5 0.6875 0.5312 +0.5 0.6875 0.5625 +0.5 0.6875 0.5938 +0.5 0.6875 0.625 +0.5 0.6875 0.6562 +0.5 0.6875 0.6875 +0.5 0.6875 0.7188 +0.5 0.6875 0.75 +0.5 0.6875 0.7812 +0.5 0.6875 0.8125 +0.5 0.6875 0.8438 +0.5 0.6875 0.875 +0.5 0.6875 0.9062 +0.5 0.6875 0.9375 +0.5 0.6875 0.9688 +0.5 0.6875 1 +0.5 0.7188 0 +0.5 0.7188 0.03125 +0.5 0.7188 0.0625 +0.5 0.7188 0.09375 +0.5 0.7188 0.125 +0.5 0.7188 0.1562 +0.5 0.7188 0.1875 +0.5 0.7188 0.2188 +0.5 0.7188 0.25 +0.5 0.7188 0.2812 +0.5 0.7188 0.3125 +0.5 0.7188 0.3438 +0.5 0.7188 0.375 +0.5 0.7188 0.4062 +0.5 0.7188 0.4375 +0.5 0.7188 0.4688 +0.5 0.7188 0.5 +0.5 0.7188 0.5312 +0.5 0.7188 0.5625 +0.5 0.7188 0.5938 +0.5 0.7188 0.625 +0.5 0.7188 0.6562 +0.5 0.7188 0.6875 +0.5 0.7188 0.7188 +0.5 0.7188 0.75 +0.5 0.7188 0.7812 +0.5 0.7188 0.8125 +0.5 0.7188 0.8438 +0.5 0.7188 0.875 +0.5 0.7188 0.9062 +0.5 0.7188 0.9375 +0.5 0.7188 0.9688 +0.5 0.7188 1 +0.5 0.75 0 +0.5 0.75 0.03125 +0.5 0.75 0.0625 +0.5 0.75 0.09375 +0.5 0.75 0.125 +0.5 0.75 0.1562 +0.5 0.75 0.1875 +0.5 0.75 0.2188 +0.5 0.75 0.25 +0.5 0.75 0.2812 +0.5 0.75 0.3125 +0.5 0.75 0.3438 +0.5 0.75 0.375 +0.5 0.75 0.4062 +0.5 0.75 0.4375 +0.5 0.75 0.4688 +0.5 0.75 0.5 +0.5 0.75 0.5312 +0.5 0.75 0.5625 +0.5 0.75 0.5938 +0.5 0.75 0.625 +0.5 0.75 0.6562 +0.5 0.75 0.6875 +0.5 0.75 0.7188 +0.5 0.75 0.75 +0.5 0.75 0.7812 +0.5 0.75 0.8125 +0.5 0.75 0.8438 +0.5 0.75 0.875 +0.5 0.75 0.9062 +0.5 0.75 0.9375 +0.5 0.75 0.9688 +0.5 0.75 1 +0.5 0.7812 0 +0.5 0.7812 0.03125 +0.5 0.7812 0.0625 +0.5 0.7812 0.09375 +0.5 0.7812 0.125 +0.5 0.7812 0.1562 +0.5 0.7812 0.1875 +0.5 0.7812 0.2188 +0.5 0.7812 0.25 +0.5 0.7812 0.2812 +0.5 0.7812 0.3125 +0.5 0.7812 0.3438 +0.5 0.7812 0.375 +0.5 0.7812 0.4062 +0.5 0.7812 0.4375 +0.5 0.7812 0.4688 +0.5 0.7812 0.5 +0.5 0.7812 0.5312 +0.5 0.7812 0.5625 +0.5 0.7812 0.5938 +0.5 0.7812 0.625 +0.5 0.7812 0.6562 +0.5 0.7812 0.6875 +0.5 0.7812 0.7188 +0.5 0.7812 0.75 +0.5 0.7812 0.7812 +0.5 0.7812 0.8125 +0.5 0.7812 0.8438 +0.5 0.7812 0.875 +0.5 0.7812 0.9062 +0.5 0.7812 0.9375 +0.5 0.7812 0.9688 +0.5 0.7812 1 +0.5 0.8125 0 +0.5 0.8125 0.03125 +0.5 0.8125 0.0625 +0.5 0.8125 0.09375 +0.5 0.8125 0.125 +0.5 0.8125 0.1562 +0.5 0.8125 0.1875 +0.5 0.8125 0.2188 +0.5 0.8125 0.25 +0.5 0.8125 0.2812 +0.5 0.8125 0.3125 +0.5 0.8125 0.3438 +0.5 0.8125 0.375 +0.5 0.8125 0.4062 +0.5 0.8125 0.4375 +0.5 0.8125 0.4688 +0.5 0.8125 0.5 +0.5 0.8125 0.5312 +0.5 0.8125 0.5625 +0.5 0.8125 0.5938 +0.5 0.8125 0.625 +0.5 0.8125 0.6562 +0.5 0.8125 0.6875 +0.5 0.8125 0.7188 +0.5 0.8125 0.75 +0.5 0.8125 0.7812 +0.5 0.8125 0.8125 +0.5 0.8125 0.8438 +0.5 0.8125 0.875 +0.5 0.8125 0.9062 +0.5 0.8125 0.9375 +0.5 0.8125 0.9688 +0.5 0.8125 1 +0.5 0.8438 0 +0.5 0.8438 0.03125 +0.5 0.8438 0.0625 +0.5 0.8438 0.09375 +0.5 0.8438 0.125 +0.5 0.8438 0.1562 +0.5 0.8438 0.1875 +0.5 0.8438 0.2188 +0.5 0.8438 0.25 +0.5 0.8438 0.2812 +0.5 0.8438 0.3125 +0.5 0.8438 0.3438 +0.5 0.8438 0.375 +0.5 0.8438 0.4062 +0.5 0.8438 0.4375 +0.5 0.8438 0.4688 +0.5 0.8438 0.5 +0.5 0.8438 0.5312 +0.5 0.8438 0.5625 +0.5 0.8438 0.5938 +0.5 0.8438 0.625 +0.5 0.8438 0.6562 +0.5 0.8438 0.6875 +0.5 0.8438 0.7188 +0.5 0.8438 0.75 +0.5 0.8438 0.7812 +0.5 0.8438 0.8125 +0.5 0.8438 0.8438 +0.5 0.8438 0.875 +0.5 0.8438 0.9062 +0.5 0.8438 0.9375 +0.5 0.8438 0.9688 +0.5 0.8438 1 +0.5 0.875 0 +0.5 0.875 0.03125 +0.5 0.875 0.0625 +0.5 0.875 0.09375 +0.5 0.875 0.125 +0.5 0.875 0.1562 +0.5 0.875 0.1875 +0.5 0.875 0.2188 +0.5 0.875 0.25 +0.5 0.875 0.2812 +0.5 0.875 0.3125 +0.5 0.875 0.3438 +0.5 0.875 0.375 +0.5 0.875 0.4062 +0.5 0.875 0.4375 +0.5 0.875 0.4688 +0.5 0.875 0.5 +0.5 0.875 0.5312 +0.5 0.875 0.5625 +0.5 0.875 0.5938 +0.5 0.875 0.625 +0.5 0.875 0.6562 +0.5 0.875 0.6875 +0.5 0.875 0.7188 +0.5 0.875 0.75 +0.5 0.875 0.7812 +0.5 0.875 0.8125 +0.5 0.875 0.8438 +0.5 0.875 0.875 +0.5 0.875 0.9062 +0.5 0.875 0.9375 +0.5 0.875 0.9688 +0.5 0.875 1 +0.5 0.9062 0 +0.5 0.9062 0.03125 +0.5 0.9062 0.0625 +0.5 0.9062 0.09375 +0.5 0.9062 0.125 +0.5 0.9062 0.1562 +0.5 0.9062 0.1875 +0.5 0.9062 0.2188 +0.5 0.9062 0.25 +0.5 0.9062 0.2812 +0.5 0.9062 0.3125 +0.5 0.9062 0.3438 +0.5 0.9062 0.375 +0.5 0.9062 0.4062 +0.5 0.9062 0.4375 +0.5 0.9062 0.4688 +0.5 0.9062 0.5 +0.5 0.9062 0.5312 +0.5 0.9062 0.5625 +0.5 0.9062 0.5938 +0.5 0.9062 0.625 +0.5 0.9062 0.6562 +0.5 0.9062 0.6875 +0.5 0.9062 0.7188 +0.5 0.9062 0.75 +0.5 0.9062 0.7812 +0.5 0.9062 0.8125 +0.5 0.9062 0.8438 +0.5 0.9062 0.875 +0.5 0.9062 0.9062 +0.5 0.9062 0.9375 +0.5 0.9062 0.9688 +0.5 0.9062 1 +0.5 0.9375 0 +0.5 0.9375 0.03125 +0.5 0.9375 0.0625 +0.5 0.9375 0.09375 +0.5 0.9375 0.125 +0.5 0.9375 0.1562 +0.5 0.9375 0.1875 +0.5 0.9375 0.2188 +0.5 0.9375 0.25 +0.5 0.9375 0.2812 +0.5 0.9375 0.3125 +0.5 0.9375 0.3438 +0.5 0.9375 0.375 +0.5 0.9375 0.4062 +0.5 0.9375 0.4375 +0.5 0.9375 0.4688 +0.5 0.9375 0.5 +0.5 0.9375 0.5312 +0.5 0.9375 0.5625 +0.5 0.9375 0.5938 +0.5 0.9375 0.625 +0.5 0.9375 0.6562 +0.5 0.9375 0.6875 +0.5 0.9375 0.7188 +0.5 0.9375 0.75 +0.5 0.9375 0.7812 +0.5 0.9375 0.8125 +0.5 0.9375 0.8438 +0.5 0.9375 0.875 +0.5 0.9375 0.9062 +0.5 0.9375 0.9375 +0.5 0.9375 0.9688 +0.5 0.9375 1 +0.5 0.9688 0 +0.5 0.9688 0.03125 +0.5 0.9688 0.0625 +0.5 0.9688 0.09375 +0.5 0.9688 0.125 +0.5 0.9688 0.1562 +0.5 0.9688 0.1875 +0.5 0.9688 0.2188 +0.5 0.9688 0.25 +0.5 0.9688 0.2812 +0.5 0.9688 0.3125 +0.5 0.9688 0.3438 +0.5 0.9688 0.375 +0.5 0.9688 0.4062 +0.5 0.9688 0.4375 +0.5 0.9688 0.4688 +0.5 0.9688 0.5 +0.5 0.9688 0.5312 +0.5 0.9688 0.5625 +0.5 0.9688 0.5938 +0.5 0.9688 0.625 +0.5 0.9688 0.6562 +0.5 0.9688 0.6875 +0.5 0.9688 0.7188 +0.5 0.9688 0.75 +0.5 0.9688 0.7812 +0.5 0.9688 0.8125 +0.5 0.9688 0.8438 +0.5 0.9688 0.875 +0.5 0.9688 0.9062 +0.5 0.9688 0.9375 +0.5 0.9688 0.9688 +0.5 0.9688 1 +0.5 1 0 +0.5 1 0.03125 +0.5 1 0.0625 +0.5 1 0.09375 +0.5 1 0.125 +0.5 1 0.1562 +0.5 1 0.1875 +0.5 1 0.2188 +0.5 1 0.25 +0.5 1 0.2812 +0.5 1 0.3125 +0.5 1 0.3438 +0.5 1 0.375 +0.5 1 0.4062 +0.5 1 0.4375 +0.5 1 0.4688 +0.5 1 0.5 +0.5 1 0.5312 +0.5 1 0.5625 +0.5 1 0.5938 +0.5 1 0.625 +0.5 1 0.6562 +0.5 1 0.6875 +0.5 1 0.7188 +0.5 1 0.75 +0.5 1 0.7812 +0.5 1 0.8125 +0.5 1 0.8438 +0.5 1 0.875 +0.5 1 0.9062 +0.5 1 0.9375 +0.5 1 0.9688 +0.5 1 1 +0.5312 0 0 +0.5312 0 0.03125 +0.5312 0 0.0625 +0.5312 0 0.09375 +0.5312 0 0.125 +0.5312 0 0.1562 +0.5312 0 0.1875 +0.5312 0 0.2188 +0.5312 0 0.25 +0.5312 0 0.2812 +0.5312 0 0.3125 +0.5312 0 0.3438 +0.5312 0 0.375 +0.5312 0 0.4062 +0.5312 0 0.4375 +0.5312 0 0.4688 +0.5312 0 0.5 +0.5312 0 0.5312 +0.5312 0 0.5625 +0.5312 0 0.5938 +0.5312 0 0.625 +0.5312 0 0.6562 +0.5312 0 0.6875 +0.5312 0 0.7188 +0.5312 0 0.75 +0.5312 0 0.7812 +0.5312 0 0.8125 +0.5312 0 0.8438 +0.5312 0 0.875 +0.5312 0 0.9062 +0.5312 0 0.9375 +0.5312 0 0.9688 +0.5312 0 1 +0.5312 0.03125 0 +0.5312 0.03125 0.03125 +0.5312 0.03125 0.0625 +0.5312 0.03125 0.09375 +0.5312 0.03125 0.125 +0.5312 0.03125 0.1562 +0.5312 0.03125 0.1875 +0.5312 0.03125 0.2188 +0.5312 0.03125 0.25 +0.5312 0.03125 0.2812 +0.5312 0.03125 0.3125 +0.5312 0.03125 0.3438 +0.5312 0.03125 0.375 +0.5312 0.03125 0.4062 +0.5312 0.03125 0.4375 +0.5312 0.03125 0.4688 +0.5312 0.03125 0.5 +0.5312 0.03125 0.5312 +0.5312 0.03125 0.5625 +0.5312 0.03125 0.5938 +0.5312 0.03125 0.625 +0.5312 0.03125 0.6562 +0.5312 0.03125 0.6875 +0.5312 0.03125 0.7188 +0.5312 0.03125 0.75 +0.5312 0.03125 0.7812 +0.5312 0.03125 0.8125 +0.5312 0.03125 0.8438 +0.5312 0.03125 0.875 +0.5312 0.03125 0.9062 +0.5312 0.03125 0.9375 +0.5312 0.03125 0.9688 +0.5312 0.03125 1 +0.5312 0.0625 0 +0.5312 0.0625 0.03125 +0.5312 0.0625 0.0625 +0.5312 0.0625 0.09375 +0.5312 0.0625 0.125 +0.5312 0.0625 0.1562 +0.5312 0.0625 0.1875 +0.5312 0.0625 0.2188 +0.5312 0.0625 0.25 +0.5312 0.0625 0.2812 +0.5312 0.0625 0.3125 +0.5312 0.0625 0.3438 +0.5312 0.0625 0.375 +0.5312 0.0625 0.4062 +0.5312 0.0625 0.4375 +0.5312 0.0625 0.4688 +0.5312 0.0625 0.5 +0.5312 0.0625 0.5312 +0.5312 0.0625 0.5625 +0.5312 0.0625 0.5938 +0.5312 0.0625 0.625 +0.5312 0.0625 0.6562 +0.5312 0.0625 0.6875 +0.5312 0.0625 0.7188 +0.5312 0.0625 0.75 +0.5312 0.0625 0.7812 +0.5312 0.0625 0.8125 +0.5312 0.0625 0.8438 +0.5312 0.0625 0.875 +0.5312 0.0625 0.9062 +0.5312 0.0625 0.9375 +0.5312 0.0625 0.9688 +0.5312 0.0625 1 +0.5312 0.09375 0 +0.5312 0.09375 0.03125 +0.5312 0.09375 0.0625 +0.5312 0.09375 0.09375 +0.5312 0.09375 0.125 +0.5312 0.09375 0.1562 +0.5312 0.09375 0.1875 +0.5312 0.09375 0.2188 +0.5312 0.09375 0.25 +0.5312 0.09375 0.2812 +0.5312 0.09375 0.3125 +0.5312 0.09375 0.3438 +0.5312 0.09375 0.375 +0.5312 0.09375 0.4062 +0.5312 0.09375 0.4375 +0.5312 0.09375 0.4688 +0.5312 0.09375 0.5 +0.5312 0.09375 0.5312 +0.5312 0.09375 0.5625 +0.5312 0.09375 0.5938 +0.5312 0.09375 0.625 +0.5312 0.09375 0.6562 +0.5312 0.09375 0.6875 +0.5312 0.09375 0.7188 +0.5312 0.09375 0.75 +0.5312 0.09375 0.7812 +0.5312 0.09375 0.8125 +0.5312 0.09375 0.8438 +0.5312 0.09375 0.875 +0.5312 0.09375 0.9062 +0.5312 0.09375 0.9375 +0.5312 0.09375 0.9688 +0.5312 0.09375 1 +0.5312 0.125 0 +0.5312 0.125 0.03125 +0.5312 0.125 0.0625 +0.5312 0.125 0.09375 +0.5312 0.125 0.125 +0.5312 0.125 0.1562 +0.5312 0.125 0.1875 +0.5312 0.125 0.2188 +0.5312 0.125 0.25 +0.5312 0.125 0.2812 +0.5312 0.125 0.3125 +0.5312 0.125 0.3438 +0.5312 0.125 0.375 +0.5312 0.125 0.4062 +0.5312 0.125 0.4375 +0.5312 0.125 0.4688 +0.5312 0.125 0.5 +0.5312 0.125 0.5312 +0.5312 0.125 0.5625 +0.5312 0.125 0.5938 +0.5312 0.125 0.625 +0.5312 0.125 0.6562 +0.5312 0.125 0.6875 +0.5312 0.125 0.7188 +0.5312 0.125 0.75 +0.5312 0.125 0.7812 +0.5312 0.125 0.8125 +0.5312 0.125 0.8438 +0.5312 0.125 0.875 +0.5312 0.125 0.9062 +0.5312 0.125 0.9375 +0.5312 0.125 0.9688 +0.5312 0.125 1 +0.5312 0.1562 0 +0.5312 0.1562 0.03125 +0.5312 0.1562 0.0625 +0.5312 0.1562 0.09375 +0.5312 0.1562 0.125 +0.5312 0.1562 0.1562 +0.5312 0.1562 0.1875 +0.5312 0.1562 0.2188 +0.5312 0.1562 0.25 +0.5312 0.1562 0.2812 +0.5312 0.1562 0.3125 +0.5312 0.1562 0.3438 +0.5312 0.1562 0.375 +0.5312 0.1562 0.4062 +0.5312 0.1562 0.4375 +0.5312 0.1562 0.4688 +0.5312 0.1562 0.5 +0.5312 0.1562 0.5312 +0.5312 0.1562 0.5625 +0.5312 0.1562 0.5938 +0.5312 0.1562 0.625 +0.5312 0.1562 0.6562 +0.5312 0.1562 0.6875 +0.5312 0.1562 0.7188 +0.5312 0.1562 0.75 +0.5312 0.1562 0.7812 +0.5312 0.1562 0.8125 +0.5312 0.1562 0.8438 +0.5312 0.1562 0.875 +0.5312 0.1562 0.9062 +0.5312 0.1562 0.9375 +0.5312 0.1562 0.9688 +0.5312 0.1562 1 +0.5312 0.1875 0 +0.5312 0.1875 0.03125 +0.5312 0.1875 0.0625 +0.5312 0.1875 0.09375 +0.5312 0.1875 0.125 +0.5312 0.1875 0.1562 +0.5312 0.1875 0.1875 +0.5312 0.1875 0.2188 +0.5312 0.1875 0.25 +0.5312 0.1875 0.2812 +0.5312 0.1875 0.3125 +0.5312 0.1875 0.3438 +0.5312 0.1875 0.375 +0.5312 0.1875 0.4062 +0.5312 0.1875 0.4375 +0.5312 0.1875 0.4688 +0.5312 0.1875 0.5 +0.5312 0.1875 0.5312 +0.5312 0.1875 0.5625 +0.5312 0.1875 0.5938 +0.5312 0.1875 0.625 +0.5312 0.1875 0.6562 +0.5312 0.1875 0.6875 +0.5312 0.1875 0.7188 +0.5312 0.1875 0.75 +0.5312 0.1875 0.7812 +0.5312 0.1875 0.8125 +0.5312 0.1875 0.8438 +0.5312 0.1875 0.875 +0.5312 0.1875 0.9062 +0.5312 0.1875 0.9375 +0.5312 0.1875 0.9688 +0.5312 0.1875 1 +0.5312 0.2188 0 +0.5312 0.2188 0.03125 +0.5312 0.2188 0.0625 +0.5312 0.2188 0.09375 +0.5312 0.2188 0.125 +0.5312 0.2188 0.1562 +0.5312 0.2188 0.1875 +0.5312 0.2188 0.2188 +0.5312 0.2188 0.25 +0.5312 0.2188 0.2812 +0.5312 0.2188 0.3125 +0.5312 0.2188 0.3438 +0.5312 0.2188 0.375 +0.5312 0.2188 0.4062 +0.5312 0.2188 0.4375 +0.5312 0.2188 0.4688 +0.5312 0.2188 0.5 +0.5312 0.2188 0.5312 +0.5312 0.2188 0.5625 +0.5312 0.2188 0.5938 +0.5312 0.2188 0.625 +0.5312 0.2188 0.6562 +0.5312 0.2188 0.6875 +0.5312 0.2188 0.7188 +0.5312 0.2188 0.75 +0.5312 0.2188 0.7812 +0.5312 0.2188 0.8125 +0.5312 0.2188 0.8438 +0.5312 0.2188 0.875 +0.5312 0.2188 0.9062 +0.5312 0.2188 0.9375 +0.5312 0.2188 0.9688 +0.5312 0.2188 1 +0.5312 0.25 0 +0.5312 0.25 0.03125 +0.5312 0.25 0.0625 +0.5312 0.25 0.09375 +0.5312 0.25 0.125 +0.5312 0.25 0.1562 +0.5312 0.25 0.1875 +0.5312 0.25 0.2188 +0.5312 0.25 0.25 +0.5312 0.25 0.2812 +0.5312 0.25 0.3125 +0.5312 0.25 0.3438 +0.5312 0.25 0.375 +0.5312 0.25 0.4062 +0.5312 0.25 0.4375 +0.5312 0.25 0.4688 +0.5312 0.25 0.5 +0.5312 0.25 0.5312 +0.5312 0.25 0.5625 +0.5312 0.25 0.5938 +0.5312 0.25 0.625 +0.5312 0.25 0.6562 +0.5312 0.25 0.6875 +0.5312 0.25 0.7188 +0.5312 0.25 0.75 +0.5312 0.25 0.7812 +0.5312 0.25 0.8125 +0.5312 0.25 0.8438 +0.5312 0.25 0.875 +0.5312 0.25 0.9062 +0.5312 0.25 0.9375 +0.5312 0.25 0.9688 +0.5312 0.25 1 +0.5312 0.2812 0 +0.5312 0.2812 0.03125 +0.5312 0.2812 0.0625 +0.5312 0.2812 0.09375 +0.5312 0.2812 0.125 +0.5312 0.2812 0.1562 +0.5312 0.2812 0.1875 +0.5312 0.2812 0.2188 +0.5312 0.2812 0.25 +0.5312 0.2812 0.2812 +0.5312 0.2812 0.3125 +0.5312 0.2812 0.3438 +0.5312 0.2812 0.375 +0.5312 0.2812 0.4062 +0.5312 0.2812 0.4375 +0.5312 0.2812 0.4688 +0.5312 0.2812 0.5 +0.5312 0.2812 0.5312 +0.5312 0.2812 0.5625 +0.5312 0.2812 0.5938 +0.5312 0.2812 0.625 +0.5312 0.2812 0.6562 +0.5312 0.2812 0.6875 +0.5312 0.2812 0.7188 +0.5312 0.2812 0.75 +0.5312 0.2812 0.7812 +0.5312 0.2812 0.8125 +0.5312 0.2812 0.8438 +0.5312 0.2812 0.875 +0.5312 0.2812 0.9062 +0.5312 0.2812 0.9375 +0.5312 0.2812 0.9688 +0.5312 0.2812 1 +0.5312 0.3125 0 +0.5312 0.3125 0.03125 +0.5312 0.3125 0.0625 +0.5312 0.3125 0.09375 +0.5312 0.3125 0.125 +0.5312 0.3125 0.1562 +0.5312 0.3125 0.1875 +0.5312 0.3125 0.2188 +0.5312 0.3125 0.25 +0.5312 0.3125 0.2812 +0.5312 0.3125 0.3125 +0.5312 0.3125 0.3438 +0.5312 0.3125 0.375 +0.5312 0.3125 0.4062 +0.5312 0.3125 0.4375 +0.5312 0.3125 0.4688 +0.5312 0.3125 0.5 +0.5312 0.3125 0.5312 +0.5312 0.3125 0.5625 +0.5312 0.3125 0.5938 +0.5312 0.3125 0.625 +0.5312 0.3125 0.6562 +0.5312 0.3125 0.6875 +0.5312 0.3125 0.7188 +0.5312 0.3125 0.75 +0.5312 0.3125 0.7812 +0.5312 0.3125 0.8125 +0.5312 0.3125 0.8438 +0.5312 0.3125 0.875 +0.5312 0.3125 0.9062 +0.5312 0.3125 0.9375 +0.5312 0.3125 0.9688 +0.5312 0.3125 1 +0.5312 0.3438 0 +0.5312 0.3438 0.03125 +0.5312 0.3438 0.0625 +0.5312 0.3438 0.09375 +0.5312 0.3438 0.125 +0.5312 0.3438 0.1562 +0.5312 0.3438 0.1875 +0.5312 0.3438 0.2188 +0.5312 0.3438 0.25 +0.5312 0.3438 0.2812 +0.5312 0.3438 0.3125 +0.5312 0.3438 0.3438 +0.5312 0.3438 0.375 +0.5312 0.3438 0.4062 +0.5312 0.3438 0.4375 +0.5312 0.3438 0.4688 +0.5312 0.3438 0.5 +0.5312 0.3438 0.5312 +0.5312 0.3438 0.5625 +0.5312 0.3438 0.5938 +0.5312 0.3438 0.625 +0.5312 0.3438 0.6562 +0.5312 0.3438 0.6875 +0.5312 0.3438 0.7188 +0.5312 0.3438 0.75 +0.5312 0.3438 0.7812 +0.5312 0.3438 0.8125 +0.5312 0.3438 0.8438 +0.5312 0.3438 0.875 +0.5312 0.3438 0.9062 +0.5312 0.3438 0.9375 +0.5312 0.3438 0.9688 +0.5312 0.3438 1 +0.5312 0.375 0 +0.5312 0.375 0.03125 +0.5312 0.375 0.0625 +0.5312 0.375 0.09375 +0.5312 0.375 0.125 +0.5312 0.375 0.1562 +0.5312 0.375 0.1875 +0.5312 0.375 0.2188 +0.5312 0.375 0.25 +0.5312 0.375 0.2812 +0.5312 0.375 0.3125 +0.5312 0.375 0.3438 +0.5312 0.375 0.375 +0.5312 0.375 0.4062 +0.5312 0.375 0.4375 +0.5312 0.375 0.4688 +0.5312 0.375 0.5 +0.5312 0.375 0.5312 +0.5312 0.375 0.5625 +0.5312 0.375 0.5938 +0.5312 0.375 0.625 +0.5312 0.375 0.6562 +0.5312 0.375 0.6875 +0.5312 0.375 0.7188 +0.5312 0.375 0.75 +0.5312 0.375 0.7812 +0.5312 0.375 0.8125 +0.5312 0.375 0.8438 +0.5312 0.375 0.875 +0.5312 0.375 0.9062 +0.5312 0.375 0.9375 +0.5312 0.375 0.9688 +0.5312 0.375 1 +0.5312 0.4062 0 +0.5312 0.4062 0.03125 +0.5312 0.4062 0.0625 +0.5312 0.4062 0.09375 +0.5312 0.4062 0.125 +0.5312 0.4062 0.1562 +0.5312 0.4062 0.1875 +0.5312 0.4062 0.2188 +0.5312 0.4062 0.25 +0.5312 0.4062 0.2812 +0.5312 0.4062 0.3125 +0.5312 0.4062 0.3438 +0.5312 0.4062 0.375 +0.5312 0.4062 0.4062 +0.5312 0.4062 0.4375 +0.5312 0.4062 0.4688 +0.5312 0.4062 0.5 +0.5312 0.4062 0.5312 +0.5312 0.4062 0.5625 +0.5312 0.4062 0.5938 +0.5312 0.4062 0.625 +0.5312 0.4062 0.6562 +0.5312 0.4062 0.6875 +0.5312 0.4062 0.7188 +0.5312 0.4062 0.75 +0.5312 0.4062 0.7812 +0.5312 0.4062 0.8125 +0.5312 0.4062 0.8438 +0.5312 0.4062 0.875 +0.5312 0.4062 0.9062 +0.5312 0.4062 0.9375 +0.5312 0.4062 0.9688 +0.5312 0.4062 1 +0.5312 0.4375 0 +0.5312 0.4375 0.03125 +0.5312 0.4375 0.0625 +0.5312 0.4375 0.09375 +0.5312 0.4375 0.125 +0.5312 0.4375 0.1562 +0.5312 0.4375 0.1875 +0.5312 0.4375 0.2188 +0.5312 0.4375 0.25 +0.5312 0.4375 0.2812 +0.5312 0.4375 0.3125 +0.5312 0.4375 0.3438 +0.5312 0.4375 0.375 +0.5312 0.4375 0.4062 +0.5312 0.4375 0.4375 +0.5312 0.4375 0.4688 +0.5312 0.4375 0.5 +0.5312 0.4375 0.5312 +0.5312 0.4375 0.5625 +0.5312 0.4375 0.5938 +0.5312 0.4375 0.625 +0.5312 0.4375 0.6562 +0.5312 0.4375 0.6875 +0.5312 0.4375 0.7188 +0.5312 0.4375 0.75 +0.5312 0.4375 0.7812 +0.5312 0.4375 0.8125 +0.5312 0.4375 0.8438 +0.5312 0.4375 0.875 +0.5312 0.4375 0.9062 +0.5312 0.4375 0.9375 +0.5312 0.4375 0.9688 +0.5312 0.4375 1 +0.5312 0.4688 0 +0.5312 0.4688 0.03125 +0.5312 0.4688 0.0625 +0.5312 0.4688 0.09375 +0.5312 0.4688 0.125 +0.5312 0.4688 0.1562 +0.5312 0.4688 0.1875 +0.5312 0.4688 0.2188 +0.5312 0.4688 0.25 +0.5312 0.4688 0.2812 +0.5312 0.4688 0.3125 +0.5312 0.4688 0.3438 +0.5312 0.4688 0.375 +0.5312 0.4688 0.4062 +0.5312 0.4688 0.4375 +0.5312 0.4688 0.4688 +0.5312 0.4688 0.5 +0.5312 0.4688 0.5312 +0.5312 0.4688 0.5625 +0.5312 0.4688 0.5938 +0.5312 0.4688 0.625 +0.5312 0.4688 0.6562 +0.5312 0.4688 0.6875 +0.5312 0.4688 0.7188 +0.5312 0.4688 0.75 +0.5312 0.4688 0.7812 +0.5312 0.4688 0.8125 +0.5312 0.4688 0.8438 +0.5312 0.4688 0.875 +0.5312 0.4688 0.9062 +0.5312 0.4688 0.9375 +0.5312 0.4688 0.9688 +0.5312 0.4688 1 +0.5312 0.5 0 +0.5312 0.5 0.03125 +0.5312 0.5 0.0625 +0.5312 0.5 0.09375 +0.5312 0.5 0.125 +0.5312 0.5 0.1562 +0.5312 0.5 0.1875 +0.5312 0.5 0.2188 +0.5312 0.5 0.25 +0.5312 0.5 0.2812 +0.5312 0.5 0.3125 +0.5312 0.5 0.3438 +0.5312 0.5 0.375 +0.5312 0.5 0.4062 +0.5312 0.5 0.4375 +0.5312 0.5 0.4688 +0.5312 0.5 0.5 +0.5312 0.5 0.5312 +0.5312 0.5 0.5625 +0.5312 0.5 0.5938 +0.5312 0.5 0.625 +0.5312 0.5 0.6562 +0.5312 0.5 0.6875 +0.5312 0.5 0.7188 +0.5312 0.5 0.75 +0.5312 0.5 0.7812 +0.5312 0.5 0.8125 +0.5312 0.5 0.8438 +0.5312 0.5 0.875 +0.5312 0.5 0.9062 +0.5312 0.5 0.9375 +0.5312 0.5 0.9688 +0.5312 0.5 1 +0.5312 0.5312 0 +0.5312 0.5312 0.03125 +0.5312 0.5312 0.0625 +0.5312 0.5312 0.09375 +0.5312 0.5312 0.125 +0.5312 0.5312 0.1562 +0.5312 0.5312 0.1875 +0.5312 0.5312 0.2188 +0.5312 0.5312 0.25 +0.5312 0.5312 0.2812 +0.5312 0.5312 0.3125 +0.5312 0.5312 0.3438 +0.5312 0.5312 0.375 +0.5312 0.5312 0.4062 +0.5312 0.5312 0.4375 +0.5312 0.5312 0.4688 +0.5312 0.5312 0.5 +0.5312 0.5312 0.5312 +0.5312 0.5312 0.5625 +0.5312 0.5312 0.5938 +0.5312 0.5312 0.625 +0.5312 0.5312 0.6562 +0.5312 0.5312 0.6875 +0.5312 0.5312 0.7188 +0.5312 0.5312 0.75 +0.5312 0.5312 0.7812 +0.5312 0.5312 0.8125 +0.5312 0.5312 0.8438 +0.5312 0.5312 0.875 +0.5312 0.5312 0.9062 +0.5312 0.5312 0.9375 +0.5312 0.5312 0.9688 +0.5312 0.5312 1 +0.5312 0.5625 0 +0.5312 0.5625 0.03125 +0.5312 0.5625 0.0625 +0.5312 0.5625 0.09375 +0.5312 0.5625 0.125 +0.5312 0.5625 0.1562 +0.5312 0.5625 0.1875 +0.5312 0.5625 0.2188 +0.5312 0.5625 0.25 +0.5312 0.5625 0.2812 +0.5312 0.5625 0.3125 +0.5312 0.5625 0.3438 +0.5312 0.5625 0.375 +0.5312 0.5625 0.4062 +0.5312 0.5625 0.4375 +0.5312 0.5625 0.4688 +0.5312 0.5625 0.5 +0.5312 0.5625 0.5312 +0.5312 0.5625 0.5625 +0.5312 0.5625 0.5938 +0.5312 0.5625 0.625 +0.5312 0.5625 0.6562 +0.5312 0.5625 0.6875 +0.5312 0.5625 0.7188 +0.5312 0.5625 0.75 +0.5312 0.5625 0.7812 +0.5312 0.5625 0.8125 +0.5312 0.5625 0.8438 +0.5312 0.5625 0.875 +0.5312 0.5625 0.9062 +0.5312 0.5625 0.9375 +0.5312 0.5625 0.9688 +0.5312 0.5625 1 +0.5312 0.5938 0 +0.5312 0.5938 0.03125 +0.5312 0.5938 0.0625 +0.5312 0.5938 0.09375 +0.5312 0.5938 0.125 +0.5312 0.5938 0.1562 +0.5312 0.5938 0.1875 +0.5312 0.5938 0.2188 +0.5312 0.5938 0.25 +0.5312 0.5938 0.2812 +0.5312 0.5938 0.3125 +0.5312 0.5938 0.3438 +0.5312 0.5938 0.375 +0.5312 0.5938 0.4062 +0.5312 0.5938 0.4375 +0.5312 0.5938 0.4688 +0.5312 0.5938 0.5 +0.5312 0.5938 0.5312 +0.5312 0.5938 0.5625 +0.5312 0.5938 0.5938 +0.5312 0.5938 0.625 +0.5312 0.5938 0.6562 +0.5312 0.5938 0.6875 +0.5312 0.5938 0.7188 +0.5312 0.5938 0.75 +0.5312 0.5938 0.7812 +0.5312 0.5938 0.8125 +0.5312 0.5938 0.8438 +0.5312 0.5938 0.875 +0.5312 0.5938 0.9062 +0.5312 0.5938 0.9375 +0.5312 0.5938 0.9688 +0.5312 0.5938 1 +0.5312 0.625 0 +0.5312 0.625 0.03125 +0.5312 0.625 0.0625 +0.5312 0.625 0.09375 +0.5312 0.625 0.125 +0.5312 0.625 0.1562 +0.5312 0.625 0.1875 +0.5312 0.625 0.2188 +0.5312 0.625 0.25 +0.5312 0.625 0.2812 +0.5312 0.625 0.3125 +0.5312 0.625 0.3438 +0.5312 0.625 0.375 +0.5312 0.625 0.4062 +0.5312 0.625 0.4375 +0.5312 0.625 0.4688 +0.5312 0.625 0.5 +0.5312 0.625 0.5312 +0.5312 0.625 0.5625 +0.5312 0.625 0.5938 +0.5312 0.625 0.625 +0.5312 0.625 0.6562 +0.5312 0.625 0.6875 +0.5312 0.625 0.7188 +0.5312 0.625 0.75 +0.5312 0.625 0.7812 +0.5312 0.625 0.8125 +0.5312 0.625 0.8438 +0.5312 0.625 0.875 +0.5312 0.625 0.9062 +0.5312 0.625 0.9375 +0.5312 0.625 0.9688 +0.5312 0.625 1 +0.5312 0.6562 0 +0.5312 0.6562 0.03125 +0.5312 0.6562 0.0625 +0.5312 0.6562 0.09375 +0.5312 0.6562 0.125 +0.5312 0.6562 0.1562 +0.5312 0.6562 0.1875 +0.5312 0.6562 0.2188 +0.5312 0.6562 0.25 +0.5312 0.6562 0.2812 +0.5312 0.6562 0.3125 +0.5312 0.6562 0.3438 +0.5312 0.6562 0.375 +0.5312 0.6562 0.4062 +0.5312 0.6562 0.4375 +0.5312 0.6562 0.4688 +0.5312 0.6562 0.5 +0.5312 0.6562 0.5312 +0.5312 0.6562 0.5625 +0.5312 0.6562 0.5938 +0.5312 0.6562 0.625 +0.5312 0.6562 0.6562 +0.5312 0.6562 0.6875 +0.5312 0.6562 0.7188 +0.5312 0.6562 0.75 +0.5312 0.6562 0.7812 +0.5312 0.6562 0.8125 +0.5312 0.6562 0.8438 +0.5312 0.6562 0.875 +0.5312 0.6562 0.9062 +0.5312 0.6562 0.9375 +0.5312 0.6562 0.9688 +0.5312 0.6562 1 +0.5312 0.6875 0 +0.5312 0.6875 0.03125 +0.5312 0.6875 0.0625 +0.5312 0.6875 0.09375 +0.5312 0.6875 0.125 +0.5312 0.6875 0.1562 +0.5312 0.6875 0.1875 +0.5312 0.6875 0.2188 +0.5312 0.6875 0.25 +0.5312 0.6875 0.2812 +0.5312 0.6875 0.3125 +0.5312 0.6875 0.3438 +0.5312 0.6875 0.375 +0.5312 0.6875 0.4062 +0.5312 0.6875 0.4375 +0.5312 0.6875 0.4688 +0.5312 0.6875 0.5 +0.5312 0.6875 0.5312 +0.5312 0.6875 0.5625 +0.5312 0.6875 0.5938 +0.5312 0.6875 0.625 +0.5312 0.6875 0.6562 +0.5312 0.6875 0.6875 +0.5312 0.6875 0.7188 +0.5312 0.6875 0.75 +0.5312 0.6875 0.7812 +0.5312 0.6875 0.8125 +0.5312 0.6875 0.8438 +0.5312 0.6875 0.875 +0.5312 0.6875 0.9062 +0.5312 0.6875 0.9375 +0.5312 0.6875 0.9688 +0.5312 0.6875 1 +0.5312 0.7188 0 +0.5312 0.7188 0.03125 +0.5312 0.7188 0.0625 +0.5312 0.7188 0.09375 +0.5312 0.7188 0.125 +0.5312 0.7188 0.1562 +0.5312 0.7188 0.1875 +0.5312 0.7188 0.2188 +0.5312 0.7188 0.25 +0.5312 0.7188 0.2812 +0.5312 0.7188 0.3125 +0.5312 0.7188 0.3438 +0.5312 0.7188 0.375 +0.5312 0.7188 0.4062 +0.5312 0.7188 0.4375 +0.5312 0.7188 0.4688 +0.5312 0.7188 0.5 +0.5312 0.7188 0.5312 +0.5312 0.7188 0.5625 +0.5312 0.7188 0.5938 +0.5312 0.7188 0.625 +0.5312 0.7188 0.6562 +0.5312 0.7188 0.6875 +0.5312 0.7188 0.7188 +0.5312 0.7188 0.75 +0.5312 0.7188 0.7812 +0.5312 0.7188 0.8125 +0.5312 0.7188 0.8438 +0.5312 0.7188 0.875 +0.5312 0.7188 0.9062 +0.5312 0.7188 0.9375 +0.5312 0.7188 0.9688 +0.5312 0.7188 1 +0.5312 0.75 0 +0.5312 0.75 0.03125 +0.5312 0.75 0.0625 +0.5312 0.75 0.09375 +0.5312 0.75 0.125 +0.5312 0.75 0.1562 +0.5312 0.75 0.1875 +0.5312 0.75 0.2188 +0.5312 0.75 0.25 +0.5312 0.75 0.2812 +0.5312 0.75 0.3125 +0.5312 0.75 0.3438 +0.5312 0.75 0.375 +0.5312 0.75 0.4062 +0.5312 0.75 0.4375 +0.5312 0.75 0.4688 +0.5312 0.75 0.5 +0.5312 0.75 0.5312 +0.5312 0.75 0.5625 +0.5312 0.75 0.5938 +0.5312 0.75 0.625 +0.5312 0.75 0.6562 +0.5312 0.75 0.6875 +0.5312 0.75 0.7188 +0.5312 0.75 0.75 +0.5312 0.75 0.7812 +0.5312 0.75 0.8125 +0.5312 0.75 0.8438 +0.5312 0.75 0.875 +0.5312 0.75 0.9062 +0.5312 0.75 0.9375 +0.5312 0.75 0.9688 +0.5312 0.75 1 +0.5312 0.7812 0 +0.5312 0.7812 0.03125 +0.5312 0.7812 0.0625 +0.5312 0.7812 0.09375 +0.5312 0.7812 0.125 +0.5312 0.7812 0.1562 +0.5312 0.7812 0.1875 +0.5312 0.7812 0.2188 +0.5312 0.7812 0.25 +0.5312 0.7812 0.2812 +0.5312 0.7812 0.3125 +0.5312 0.7812 0.3438 +0.5312 0.7812 0.375 +0.5312 0.7812 0.4062 +0.5312 0.7812 0.4375 +0.5312 0.7812 0.4688 +0.5312 0.7812 0.5 +0.5312 0.7812 0.5312 +0.5312 0.7812 0.5625 +0.5312 0.7812 0.5938 +0.5312 0.7812 0.625 +0.5312 0.7812 0.6562 +0.5312 0.7812 0.6875 +0.5312 0.7812 0.7188 +0.5312 0.7812 0.75 +0.5312 0.7812 0.7812 +0.5312 0.7812 0.8125 +0.5312 0.7812 0.8438 +0.5312 0.7812 0.875 +0.5312 0.7812 0.9062 +0.5312 0.7812 0.9375 +0.5312 0.7812 0.9688 +0.5312 0.7812 1 +0.5312 0.8125 0 +0.5312 0.8125 0.03125 +0.5312 0.8125 0.0625 +0.5312 0.8125 0.09375 +0.5312 0.8125 0.125 +0.5312 0.8125 0.1562 +0.5312 0.8125 0.1875 +0.5312 0.8125 0.2188 +0.5312 0.8125 0.25 +0.5312 0.8125 0.2812 +0.5312 0.8125 0.3125 +0.5312 0.8125 0.3438 +0.5312 0.8125 0.375 +0.5312 0.8125 0.4062 +0.5312 0.8125 0.4375 +0.5312 0.8125 0.4688 +0.5312 0.8125 0.5 +0.5312 0.8125 0.5312 +0.5312 0.8125 0.5625 +0.5312 0.8125 0.5938 +0.5312 0.8125 0.625 +0.5312 0.8125 0.6562 +0.5312 0.8125 0.6875 +0.5312 0.8125 0.7188 +0.5312 0.8125 0.75 +0.5312 0.8125 0.7812 +0.5312 0.8125 0.8125 +0.5312 0.8125 0.8438 +0.5312 0.8125 0.875 +0.5312 0.8125 0.9062 +0.5312 0.8125 0.9375 +0.5312 0.8125 0.9688 +0.5312 0.8125 1 +0.5312 0.8438 0 +0.5312 0.8438 0.03125 +0.5312 0.8438 0.0625 +0.5312 0.8438 0.09375 +0.5312 0.8438 0.125 +0.5312 0.8438 0.1562 +0.5312 0.8438 0.1875 +0.5312 0.8438 0.2188 +0.5312 0.8438 0.25 +0.5312 0.8438 0.2812 +0.5312 0.8438 0.3125 +0.5312 0.8438 0.3438 +0.5312 0.8438 0.375 +0.5312 0.8438 0.4062 +0.5312 0.8438 0.4375 +0.5312 0.8438 0.4688 +0.5312 0.8438 0.5 +0.5312 0.8438 0.5312 +0.5312 0.8438 0.5625 +0.5312 0.8438 0.5938 +0.5312 0.8438 0.625 +0.5312 0.8438 0.6562 +0.5312 0.8438 0.6875 +0.5312 0.8438 0.7188 +0.5312 0.8438 0.75 +0.5312 0.8438 0.7812 +0.5312 0.8438 0.8125 +0.5312 0.8438 0.8438 +0.5312 0.8438 0.875 +0.5312 0.8438 0.9062 +0.5312 0.8438 0.9375 +0.5312 0.8438 0.9688 +0.5312 0.8438 1 +0.5312 0.875 0 +0.5312 0.875 0.03125 +0.5312 0.875 0.0625 +0.5312 0.875 0.09375 +0.5312 0.875 0.125 +0.5312 0.875 0.1562 +0.5312 0.875 0.1875 +0.5312 0.875 0.2188 +0.5312 0.875 0.25 +0.5312 0.875 0.2812 +0.5312 0.875 0.3125 +0.5312 0.875 0.3438 +0.5312 0.875 0.375 +0.5312 0.875 0.4062 +0.5312 0.875 0.4375 +0.5312 0.875 0.4688 +0.5312 0.875 0.5 +0.5312 0.875 0.5312 +0.5312 0.875 0.5625 +0.5312 0.875 0.5938 +0.5312 0.875 0.625 +0.5312 0.875 0.6562 +0.5312 0.875 0.6875 +0.5312 0.875 0.7188 +0.5312 0.875 0.75 +0.5312 0.875 0.7812 +0.5312 0.875 0.8125 +0.5312 0.875 0.8438 +0.5312 0.875 0.875 +0.5312 0.875 0.9062 +0.5312 0.875 0.9375 +0.5312 0.875 0.9688 +0.5312 0.875 1 +0.5312 0.9062 0 +0.5312 0.9062 0.03125 +0.5312 0.9062 0.0625 +0.5312 0.9062 0.09375 +0.5312 0.9062 0.125 +0.5312 0.9062 0.1562 +0.5312 0.9062 0.1875 +0.5312 0.9062 0.2188 +0.5312 0.9062 0.25 +0.5312 0.9062 0.2812 +0.5312 0.9062 0.3125 +0.5312 0.9062 0.3438 +0.5312 0.9062 0.375 +0.5312 0.9062 0.4062 +0.5312 0.9062 0.4375 +0.5312 0.9062 0.4688 +0.5312 0.9062 0.5 +0.5312 0.9062 0.5312 +0.5312 0.9062 0.5625 +0.5312 0.9062 0.5938 +0.5312 0.9062 0.625 +0.5312 0.9062 0.6562 +0.5312 0.9062 0.6875 +0.5312 0.9062 0.7188 +0.5312 0.9062 0.75 +0.5312 0.9062 0.7812 +0.5312 0.9062 0.8125 +0.5312 0.9062 0.8438 +0.5312 0.9062 0.875 +0.5312 0.9062 0.9062 +0.5312 0.9062 0.9375 +0.5312 0.9062 0.9688 +0.5312 0.9062 1 +0.5312 0.9375 0 +0.5312 0.9375 0.03125 +0.5312 0.9375 0.0625 +0.5312 0.9375 0.09375 +0.5312 0.9375 0.125 +0.5312 0.9375 0.1562 +0.5312 0.9375 0.1875 +0.5312 0.9375 0.2188 +0.5312 0.9375 0.25 +0.5312 0.9375 0.2812 +0.5312 0.9375 0.3125 +0.5312 0.9375 0.3438 +0.5312 0.9375 0.375 +0.5312 0.9375 0.4062 +0.5312 0.9375 0.4375 +0.5312 0.9375 0.4688 +0.5312 0.9375 0.5 +0.5312 0.9375 0.5312 +0.5312 0.9375 0.5625 +0.5312 0.9375 0.5938 +0.5312 0.9375 0.625 +0.5312 0.9375 0.6562 +0.5312 0.9375 0.6875 +0.5312 0.9375 0.7188 +0.5312 0.9375 0.75 +0.5312 0.9375 0.7812 +0.5312 0.9375 0.8125 +0.5312 0.9375 0.8438 +0.5312 0.9375 0.875 +0.5312 0.9375 0.9062 +0.5312 0.9375 0.9375 +0.5312 0.9375 0.9688 +0.5312 0.9375 1 +0.5312 0.9688 0 +0.5312 0.9688 0.03125 +0.5312 0.9688 0.0625 +0.5312 0.9688 0.09375 +0.5312 0.9688 0.125 +0.5312 0.9688 0.1562 +0.5312 0.9688 0.1875 +0.5312 0.9688 0.2188 +0.5312 0.9688 0.25 +0.5312 0.9688 0.2812 +0.5312 0.9688 0.3125 +0.5312 0.9688 0.3438 +0.5312 0.9688 0.375 +0.5312 0.9688 0.4062 +0.5312 0.9688 0.4375 +0.5312 0.9688 0.4688 +0.5312 0.9688 0.5 +0.5312 0.9688 0.5312 +0.5312 0.9688 0.5625 +0.5312 0.9688 0.5938 +0.5312 0.9688 0.625 +0.5312 0.9688 0.6562 +0.5312 0.9688 0.6875 +0.5312 0.9688 0.7188 +0.5312 0.9688 0.75 +0.5312 0.9688 0.7812 +0.5312 0.9688 0.8125 +0.5312 0.9688 0.8438 +0.5312 0.9688 0.875 +0.5312 0.9688 0.9062 +0.5312 0.9688 0.9375 +0.5312 0.9688 0.9688 +0.5312 0.9688 1 +0.5312 1 0 +0.5312 1 0.03125 +0.5312 1 0.0625 +0.5312 1 0.09375 +0.5312 1 0.125 +0.5312 1 0.1562 +0.5312 1 0.1875 +0.5312 1 0.2188 +0.5312 1 0.25 +0.5312 1 0.2812 +0.5312 1 0.3125 +0.5312 1 0.3438 +0.5312 1 0.375 +0.5312 1 0.4062 +0.5312 1 0.4375 +0.5312 1 0.4688 +0.5312 1 0.5 +0.5312 1 0.5312 +0.5312 1 0.5625 +0.5312 1 0.5938 +0.5312 1 0.625 +0.5312 1 0.6562 +0.5312 1 0.6875 +0.5312 1 0.7188 +0.5312 1 0.75 +0.5312 1 0.7812 +0.5312 1 0.8125 +0.5312 1 0.8438 +0.5312 1 0.875 +0.5312 1 0.9062 +0.5312 1 0.9375 +0.5312 1 0.9688 +0.5312 1 1 +0.5625 0 0 +0.5625 0 0.03125 +0.5625 0 0.0625 +0.5625 0 0.09375 +0.5625 0 0.125 +0.5625 0 0.1562 +0.5625 0 0.1875 +0.5625 0 0.2188 +0.5625 0 0.25 +0.5625 0 0.2812 +0.5625 0 0.3125 +0.5625 0 0.3438 +0.5625 0 0.375 +0.5625 0 0.4062 +0.5625 0 0.4375 +0.5625 0 0.4688 +0.5625 0 0.5 +0.5625 0 0.5312 +0.5625 0 0.5625 +0.5625 0 0.5938 +0.5625 0 0.625 +0.5625 0 0.6562 +0.5625 0 0.6875 +0.5625 0 0.7188 +0.5625 0 0.75 +0.5625 0 0.7812 +0.5625 0 0.8125 +0.5625 0 0.8438 +0.5625 0 0.875 +0.5625 0 0.9062 +0.5625 0 0.9375 +0.5625 0 0.9688 +0.5625 0 1 +0.5625 0.03125 0 +0.5625 0.03125 0.03125 +0.5625 0.03125 0.0625 +0.5625 0.03125 0.09375 +0.5625 0.03125 0.125 +0.5625 0.03125 0.1562 +0.5625 0.03125 0.1875 +0.5625 0.03125 0.2188 +0.5625 0.03125 0.25 +0.5625 0.03125 0.2812 +0.5625 0.03125 0.3125 +0.5625 0.03125 0.3438 +0.5625 0.03125 0.375 +0.5625 0.03125 0.4062 +0.5625 0.03125 0.4375 +0.5625 0.03125 0.4688 +0.5625 0.03125 0.5 +0.5625 0.03125 0.5312 +0.5625 0.03125 0.5625 +0.5625 0.03125 0.5938 +0.5625 0.03125 0.625 +0.5625 0.03125 0.6562 +0.5625 0.03125 0.6875 +0.5625 0.03125 0.7188 +0.5625 0.03125 0.75 +0.5625 0.03125 0.7812 +0.5625 0.03125 0.8125 +0.5625 0.03125 0.8438 +0.5625 0.03125 0.875 +0.5625 0.03125 0.9062 +0.5625 0.03125 0.9375 +0.5625 0.03125 0.9688 +0.5625 0.03125 1 +0.5625 0.0625 0 +0.5625 0.0625 0.03125 +0.5625 0.0625 0.0625 +0.5625 0.0625 0.09375 +0.5625 0.0625 0.125 +0.5625 0.0625 0.1562 +0.5625 0.0625 0.1875 +0.5625 0.0625 0.2188 +0.5625 0.0625 0.25 +0.5625 0.0625 0.2812 +0.5625 0.0625 0.3125 +0.5625 0.0625 0.3438 +0.5625 0.0625 0.375 +0.5625 0.0625 0.4062 +0.5625 0.0625 0.4375 +0.5625 0.0625 0.4688 +0.5625 0.0625 0.5 +0.5625 0.0625 0.5312 +0.5625 0.0625 0.5625 +0.5625 0.0625 0.5938 +0.5625 0.0625 0.625 +0.5625 0.0625 0.6562 +0.5625 0.0625 0.6875 +0.5625 0.0625 0.7188 +0.5625 0.0625 0.75 +0.5625 0.0625 0.7812 +0.5625 0.0625 0.8125 +0.5625 0.0625 0.8438 +0.5625 0.0625 0.875 +0.5625 0.0625 0.9062 +0.5625 0.0625 0.9375 +0.5625 0.0625 0.9688 +0.5625 0.0625 1 +0.5625 0.09375 0 +0.5625 0.09375 0.03125 +0.5625 0.09375 0.0625 +0.5625 0.09375 0.09375 +0.5625 0.09375 0.125 +0.5625 0.09375 0.1562 +0.5625 0.09375 0.1875 +0.5625 0.09375 0.2188 +0.5625 0.09375 0.25 +0.5625 0.09375 0.2812 +0.5625 0.09375 0.3125 +0.5625 0.09375 0.3438 +0.5625 0.09375 0.375 +0.5625 0.09375 0.4062 +0.5625 0.09375 0.4375 +0.5625 0.09375 0.4688 +0.5625 0.09375 0.5 +0.5625 0.09375 0.5312 +0.5625 0.09375 0.5625 +0.5625 0.09375 0.5938 +0.5625 0.09375 0.625 +0.5625 0.09375 0.6562 +0.5625 0.09375 0.6875 +0.5625 0.09375 0.7188 +0.5625 0.09375 0.75 +0.5625 0.09375 0.7812 +0.5625 0.09375 0.8125 +0.5625 0.09375 0.8438 +0.5625 0.09375 0.875 +0.5625 0.09375 0.9062 +0.5625 0.09375 0.9375 +0.5625 0.09375 0.9688 +0.5625 0.09375 1 +0.5625 0.125 0 +0.5625 0.125 0.03125 +0.5625 0.125 0.0625 +0.5625 0.125 0.09375 +0.5625 0.125 0.125 +0.5625 0.125 0.1562 +0.5625 0.125 0.1875 +0.5625 0.125 0.2188 +0.5625 0.125 0.25 +0.5625 0.125 0.2812 +0.5625 0.125 0.3125 +0.5625 0.125 0.3438 +0.5625 0.125 0.375 +0.5625 0.125 0.4062 +0.5625 0.125 0.4375 +0.5625 0.125 0.4688 +0.5625 0.125 0.5 +0.5625 0.125 0.5312 +0.5625 0.125 0.5625 +0.5625 0.125 0.5938 +0.5625 0.125 0.625 +0.5625 0.125 0.6562 +0.5625 0.125 0.6875 +0.5625 0.125 0.7188 +0.5625 0.125 0.75 +0.5625 0.125 0.7812 +0.5625 0.125 0.8125 +0.5625 0.125 0.8438 +0.5625 0.125 0.875 +0.5625 0.125 0.9062 +0.5625 0.125 0.9375 +0.5625 0.125 0.9688 +0.5625 0.125 1 +0.5625 0.1562 0 +0.5625 0.1562 0.03125 +0.5625 0.1562 0.0625 +0.5625 0.1562 0.09375 +0.5625 0.1562 0.125 +0.5625 0.1562 0.1562 +0.5625 0.1562 0.1875 +0.5625 0.1562 0.2188 +0.5625 0.1562 0.25 +0.5625 0.1562 0.2812 +0.5625 0.1562 0.3125 +0.5625 0.1562 0.3438 +0.5625 0.1562 0.375 +0.5625 0.1562 0.4062 +0.5625 0.1562 0.4375 +0.5625 0.1562 0.4688 +0.5625 0.1562 0.5 +0.5625 0.1562 0.5312 +0.5625 0.1562 0.5625 +0.5625 0.1562 0.5938 +0.5625 0.1562 0.625 +0.5625 0.1562 0.6562 +0.5625 0.1562 0.6875 +0.5625 0.1562 0.7188 +0.5625 0.1562 0.75 +0.5625 0.1562 0.7812 +0.5625 0.1562 0.8125 +0.5625 0.1562 0.8438 +0.5625 0.1562 0.875 +0.5625 0.1562 0.9062 +0.5625 0.1562 0.9375 +0.5625 0.1562 0.9688 +0.5625 0.1562 1 +0.5625 0.1875 0 +0.5625 0.1875 0.03125 +0.5625 0.1875 0.0625 +0.5625 0.1875 0.09375 +0.5625 0.1875 0.125 +0.5625 0.1875 0.1562 +0.5625 0.1875 0.1875 +0.5625 0.1875 0.2188 +0.5625 0.1875 0.25 +0.5625 0.1875 0.2812 +0.5625 0.1875 0.3125 +0.5625 0.1875 0.3438 +0.5625 0.1875 0.375 +0.5625 0.1875 0.4062 +0.5625 0.1875 0.4375 +0.5625 0.1875 0.4688 +0.5625 0.1875 0.5 +0.5625 0.1875 0.5312 +0.5625 0.1875 0.5625 +0.5625 0.1875 0.5938 +0.5625 0.1875 0.625 +0.5625 0.1875 0.6562 +0.5625 0.1875 0.6875 +0.5625 0.1875 0.7188 +0.5625 0.1875 0.75 +0.5625 0.1875 0.7812 +0.5625 0.1875 0.8125 +0.5625 0.1875 0.8438 +0.5625 0.1875 0.875 +0.5625 0.1875 0.9062 +0.5625 0.1875 0.9375 +0.5625 0.1875 0.9688 +0.5625 0.1875 1 +0.5625 0.2188 0 +0.5625 0.2188 0.03125 +0.5625 0.2188 0.0625 +0.5625 0.2188 0.09375 +0.5625 0.2188 0.125 +0.5625 0.2188 0.1562 +0.5625 0.2188 0.1875 +0.5625 0.2188 0.2188 +0.5625 0.2188 0.25 +0.5625 0.2188 0.2812 +0.5625 0.2188 0.3125 +0.5625 0.2188 0.3438 +0.5625 0.2188 0.375 +0.5625 0.2188 0.4062 +0.5625 0.2188 0.4375 +0.5625 0.2188 0.4688 +0.5625 0.2188 0.5 +0.5625 0.2188 0.5312 +0.5625 0.2188 0.5625 +0.5625 0.2188 0.5938 +0.5625 0.2188 0.625 +0.5625 0.2188 0.6562 +0.5625 0.2188 0.6875 +0.5625 0.2188 0.7188 +0.5625 0.2188 0.75 +0.5625 0.2188 0.7812 +0.5625 0.2188 0.8125 +0.5625 0.2188 0.8438 +0.5625 0.2188 0.875 +0.5625 0.2188 0.9062 +0.5625 0.2188 0.9375 +0.5625 0.2188 0.9688 +0.5625 0.2188 1 +0.5625 0.25 0 +0.5625 0.25 0.03125 +0.5625 0.25 0.0625 +0.5625 0.25 0.09375 +0.5625 0.25 0.125 +0.5625 0.25 0.1562 +0.5625 0.25 0.1875 +0.5625 0.25 0.2188 +0.5625 0.25 0.25 +0.5625 0.25 0.2812 +0.5625 0.25 0.3125 +0.5625 0.25 0.3438 +0.5625 0.25 0.375 +0.5625 0.25 0.4062 +0.5625 0.25 0.4375 +0.5625 0.25 0.4688 +0.5625 0.25 0.5 +0.5625 0.25 0.5312 +0.5625 0.25 0.5625 +0.5625 0.25 0.5938 +0.5625 0.25 0.625 +0.5625 0.25 0.6562 +0.5625 0.25 0.6875 +0.5625 0.25 0.7188 +0.5625 0.25 0.75 +0.5625 0.25 0.7812 +0.5625 0.25 0.8125 +0.5625 0.25 0.8438 +0.5625 0.25 0.875 +0.5625 0.25 0.9062 +0.5625 0.25 0.9375 +0.5625 0.25 0.9688 +0.5625 0.25 1 +0.5625 0.2812 0 +0.5625 0.2812 0.03125 +0.5625 0.2812 0.0625 +0.5625 0.2812 0.09375 +0.5625 0.2812 0.125 +0.5625 0.2812 0.1562 +0.5625 0.2812 0.1875 +0.5625 0.2812 0.2188 +0.5625 0.2812 0.25 +0.5625 0.2812 0.2812 +0.5625 0.2812 0.3125 +0.5625 0.2812 0.3438 +0.5625 0.2812 0.375 +0.5625 0.2812 0.4062 +0.5625 0.2812 0.4375 +0.5625 0.2812 0.4688 +0.5625 0.2812 0.5 +0.5625 0.2812 0.5312 +0.5625 0.2812 0.5625 +0.5625 0.2812 0.5938 +0.5625 0.2812 0.625 +0.5625 0.2812 0.6562 +0.5625 0.2812 0.6875 +0.5625 0.2812 0.7188 +0.5625 0.2812 0.75 +0.5625 0.2812 0.7812 +0.5625 0.2812 0.8125 +0.5625 0.2812 0.8438 +0.5625 0.2812 0.875 +0.5625 0.2812 0.9062 +0.5625 0.2812 0.9375 +0.5625 0.2812 0.9688 +0.5625 0.2812 1 +0.5625 0.3125 0 +0.5625 0.3125 0.03125 +0.5625 0.3125 0.0625 +0.5625 0.3125 0.09375 +0.5625 0.3125 0.125 +0.5625 0.3125 0.1562 +0.5625 0.3125 0.1875 +0.5625 0.3125 0.2188 +0.5625 0.3125 0.25 +0.5625 0.3125 0.2812 +0.5625 0.3125 0.3125 +0.5625 0.3125 0.3438 +0.5625 0.3125 0.375 +0.5625 0.3125 0.4062 +0.5625 0.3125 0.4375 +0.5625 0.3125 0.4688 +0.5625 0.3125 0.5 +0.5625 0.3125 0.5312 +0.5625 0.3125 0.5625 +0.5625 0.3125 0.5938 +0.5625 0.3125 0.625 +0.5625 0.3125 0.6562 +0.5625 0.3125 0.6875 +0.5625 0.3125 0.7188 +0.5625 0.3125 0.75 +0.5625 0.3125 0.7812 +0.5625 0.3125 0.8125 +0.5625 0.3125 0.8438 +0.5625 0.3125 0.875 +0.5625 0.3125 0.9062 +0.5625 0.3125 0.9375 +0.5625 0.3125 0.9688 +0.5625 0.3125 1 +0.5625 0.3438 0 +0.5625 0.3438 0.03125 +0.5625 0.3438 0.0625 +0.5625 0.3438 0.09375 +0.5625 0.3438 0.125 +0.5625 0.3438 0.1562 +0.5625 0.3438 0.1875 +0.5625 0.3438 0.2188 +0.5625 0.3438 0.25 +0.5625 0.3438 0.2812 +0.5625 0.3438 0.3125 +0.5625 0.3438 0.3438 +0.5625 0.3438 0.375 +0.5625 0.3438 0.4062 +0.5625 0.3438 0.4375 +0.5625 0.3438 0.4688 +0.5625 0.3438 0.5 +0.5625 0.3438 0.5312 +0.5625 0.3438 0.5625 +0.5625 0.3438 0.5938 +0.5625 0.3438 0.625 +0.5625 0.3438 0.6562 +0.5625 0.3438 0.6875 +0.5625 0.3438 0.7188 +0.5625 0.3438 0.75 +0.5625 0.3438 0.7812 +0.5625 0.3438 0.8125 +0.5625 0.3438 0.8438 +0.5625 0.3438 0.875 +0.5625 0.3438 0.9062 +0.5625 0.3438 0.9375 +0.5625 0.3438 0.9688 +0.5625 0.3438 1 +0.5625 0.375 0 +0.5625 0.375 0.03125 +0.5625 0.375 0.0625 +0.5625 0.375 0.09375 +0.5625 0.375 0.125 +0.5625 0.375 0.1562 +0.5625 0.375 0.1875 +0.5625 0.375 0.2188 +0.5625 0.375 0.25 +0.5625 0.375 0.2812 +0.5625 0.375 0.3125 +0.5625 0.375 0.3438 +0.5625 0.375 0.375 +0.5625 0.375 0.4062 +0.5625 0.375 0.4375 +0.5625 0.375 0.4688 +0.5625 0.375 0.5 +0.5625 0.375 0.5312 +0.5625 0.375 0.5625 +0.5625 0.375 0.5938 +0.5625 0.375 0.625 +0.5625 0.375 0.6562 +0.5625 0.375 0.6875 +0.5625 0.375 0.7188 +0.5625 0.375 0.75 +0.5625 0.375 0.7812 +0.5625 0.375 0.8125 +0.5625 0.375 0.8438 +0.5625 0.375 0.875 +0.5625 0.375 0.9062 +0.5625 0.375 0.9375 +0.5625 0.375 0.9688 +0.5625 0.375 1 +0.5625 0.4062 0 +0.5625 0.4062 0.03125 +0.5625 0.4062 0.0625 +0.5625 0.4062 0.09375 +0.5625 0.4062 0.125 +0.5625 0.4062 0.1562 +0.5625 0.4062 0.1875 +0.5625 0.4062 0.2188 +0.5625 0.4062 0.25 +0.5625 0.4062 0.2812 +0.5625 0.4062 0.3125 +0.5625 0.4062 0.3438 +0.5625 0.4062 0.375 +0.5625 0.4062 0.4062 +0.5625 0.4062 0.4375 +0.5625 0.4062 0.4688 +0.5625 0.4062 0.5 +0.5625 0.4062 0.5312 +0.5625 0.4062 0.5625 +0.5625 0.4062 0.5938 +0.5625 0.4062 0.625 +0.5625 0.4062 0.6562 +0.5625 0.4062 0.6875 +0.5625 0.4062 0.7188 +0.5625 0.4062 0.75 +0.5625 0.4062 0.7812 +0.5625 0.4062 0.8125 +0.5625 0.4062 0.8438 +0.5625 0.4062 0.875 +0.5625 0.4062 0.9062 +0.5625 0.4062 0.9375 +0.5625 0.4062 0.9688 +0.5625 0.4062 1 +0.5625 0.4375 0 +0.5625 0.4375 0.03125 +0.5625 0.4375 0.0625 +0.5625 0.4375 0.09375 +0.5625 0.4375 0.125 +0.5625 0.4375 0.1562 +0.5625 0.4375 0.1875 +0.5625 0.4375 0.2188 +0.5625 0.4375 0.25 +0.5625 0.4375 0.2812 +0.5625 0.4375 0.3125 +0.5625 0.4375 0.3438 +0.5625 0.4375 0.375 +0.5625 0.4375 0.4062 +0.5625 0.4375 0.4375 +0.5625 0.4375 0.4688 +0.5625 0.4375 0.5 +0.5625 0.4375 0.5312 +0.5625 0.4375 0.5625 +0.5625 0.4375 0.5938 +0.5625 0.4375 0.625 +0.5625 0.4375 0.6562 +0.5625 0.4375 0.6875 +0.5625 0.4375 0.7188 +0.5625 0.4375 0.75 +0.5625 0.4375 0.7812 +0.5625 0.4375 0.8125 +0.5625 0.4375 0.8438 +0.5625 0.4375 0.875 +0.5625 0.4375 0.9062 +0.5625 0.4375 0.9375 +0.5625 0.4375 0.9688 +0.5625 0.4375 1 +0.5625 0.4688 0 +0.5625 0.4688 0.03125 +0.5625 0.4688 0.0625 +0.5625 0.4688 0.09375 +0.5625 0.4688 0.125 +0.5625 0.4688 0.1562 +0.5625 0.4688 0.1875 +0.5625 0.4688 0.2188 +0.5625 0.4688 0.25 +0.5625 0.4688 0.2812 +0.5625 0.4688 0.3125 +0.5625 0.4688 0.3438 +0.5625 0.4688 0.375 +0.5625 0.4688 0.4062 +0.5625 0.4688 0.4375 +0.5625 0.4688 0.4688 +0.5625 0.4688 0.5 +0.5625 0.4688 0.5312 +0.5625 0.4688 0.5625 +0.5625 0.4688 0.5938 +0.5625 0.4688 0.625 +0.5625 0.4688 0.6562 +0.5625 0.4688 0.6875 +0.5625 0.4688 0.7188 +0.5625 0.4688 0.75 +0.5625 0.4688 0.7812 +0.5625 0.4688 0.8125 +0.5625 0.4688 0.8438 +0.5625 0.4688 0.875 +0.5625 0.4688 0.9062 +0.5625 0.4688 0.9375 +0.5625 0.4688 0.9688 +0.5625 0.4688 1 +0.5625 0.5 0 +0.5625 0.5 0.03125 +0.5625 0.5 0.0625 +0.5625 0.5 0.09375 +0.5625 0.5 0.125 +0.5625 0.5 0.1562 +0.5625 0.5 0.1875 +0.5625 0.5 0.2188 +0.5625 0.5 0.25 +0.5625 0.5 0.2812 +0.5625 0.5 0.3125 +0.5625 0.5 0.3438 +0.5625 0.5 0.375 +0.5625 0.5 0.4062 +0.5625 0.5 0.4375 +0.5625 0.5 0.4688 +0.5625 0.5 0.5 +0.5625 0.5 0.5312 +0.5625 0.5 0.5625 +0.5625 0.5 0.5938 +0.5625 0.5 0.625 +0.5625 0.5 0.6562 +0.5625 0.5 0.6875 +0.5625 0.5 0.7188 +0.5625 0.5 0.75 +0.5625 0.5 0.7812 +0.5625 0.5 0.8125 +0.5625 0.5 0.8438 +0.5625 0.5 0.875 +0.5625 0.5 0.9062 +0.5625 0.5 0.9375 +0.5625 0.5 0.9688 +0.5625 0.5 1 +0.5625 0.5312 0 +0.5625 0.5312 0.03125 +0.5625 0.5312 0.0625 +0.5625 0.5312 0.09375 +0.5625 0.5312 0.125 +0.5625 0.5312 0.1562 +0.5625 0.5312 0.1875 +0.5625 0.5312 0.2188 +0.5625 0.5312 0.25 +0.5625 0.5312 0.2812 +0.5625 0.5312 0.3125 +0.5625 0.5312 0.3438 +0.5625 0.5312 0.375 +0.5625 0.5312 0.4062 +0.5625 0.5312 0.4375 +0.5625 0.5312 0.4688 +0.5625 0.5312 0.5 +0.5625 0.5312 0.5312 +0.5625 0.5312 0.5625 +0.5625 0.5312 0.5938 +0.5625 0.5312 0.625 +0.5625 0.5312 0.6562 +0.5625 0.5312 0.6875 +0.5625 0.5312 0.7188 +0.5625 0.5312 0.75 +0.5625 0.5312 0.7812 +0.5625 0.5312 0.8125 +0.5625 0.5312 0.8438 +0.5625 0.5312 0.875 +0.5625 0.5312 0.9062 +0.5625 0.5312 0.9375 +0.5625 0.5312 0.9688 +0.5625 0.5312 1 +0.5625 0.5625 0 +0.5625 0.5625 0.03125 +0.5625 0.5625 0.0625 +0.5625 0.5625 0.09375 +0.5625 0.5625 0.125 +0.5625 0.5625 0.1562 +0.5625 0.5625 0.1875 +0.5625 0.5625 0.2188 +0.5625 0.5625 0.25 +0.5625 0.5625 0.2812 +0.5625 0.5625 0.3125 +0.5625 0.5625 0.3438 +0.5625 0.5625 0.375 +0.5625 0.5625 0.4062 +0.5625 0.5625 0.4375 +0.5625 0.5625 0.4688 +0.5625 0.5625 0.5 +0.5625 0.5625 0.5312 +0.5625 0.5625 0.5625 +0.5625 0.5625 0.5938 +0.5625 0.5625 0.625 +0.5625 0.5625 0.6562 +0.5625 0.5625 0.6875 +0.5625 0.5625 0.7188 +0.5625 0.5625 0.75 +0.5625 0.5625 0.7812 +0.5625 0.5625 0.8125 +0.5625 0.5625 0.8438 +0.5625 0.5625 0.875 +0.5625 0.5625 0.9062 +0.5625 0.5625 0.9375 +0.5625 0.5625 0.9688 +0.5625 0.5625 1 +0.5625 0.5938 0 +0.5625 0.5938 0.03125 +0.5625 0.5938 0.0625 +0.5625 0.5938 0.09375 +0.5625 0.5938 0.125 +0.5625 0.5938 0.1562 +0.5625 0.5938 0.1875 +0.5625 0.5938 0.2188 +0.5625 0.5938 0.25 +0.5625 0.5938 0.2812 +0.5625 0.5938 0.3125 +0.5625 0.5938 0.3438 +0.5625 0.5938 0.375 +0.5625 0.5938 0.4062 +0.5625 0.5938 0.4375 +0.5625 0.5938 0.4688 +0.5625 0.5938 0.5 +0.5625 0.5938 0.5312 +0.5625 0.5938 0.5625 +0.5625 0.5938 0.5938 +0.5625 0.5938 0.625 +0.5625 0.5938 0.6562 +0.5625 0.5938 0.6875 +0.5625 0.5938 0.7188 +0.5625 0.5938 0.75 +0.5625 0.5938 0.7812 +0.5625 0.5938 0.8125 +0.5625 0.5938 0.8438 +0.5625 0.5938 0.875 +0.5625 0.5938 0.9062 +0.5625 0.5938 0.9375 +0.5625 0.5938 0.9688 +0.5625 0.5938 1 +0.5625 0.625 0 +0.5625 0.625 0.03125 +0.5625 0.625 0.0625 +0.5625 0.625 0.09375 +0.5625 0.625 0.125 +0.5625 0.625 0.1562 +0.5625 0.625 0.1875 +0.5625 0.625 0.2188 +0.5625 0.625 0.25 +0.5625 0.625 0.2812 +0.5625 0.625 0.3125 +0.5625 0.625 0.3438 +0.5625 0.625 0.375 +0.5625 0.625 0.4062 +0.5625 0.625 0.4375 +0.5625 0.625 0.4688 +0.5625 0.625 0.5 +0.5625 0.625 0.5312 +0.5625 0.625 0.5625 +0.5625 0.625 0.5938 +0.5625 0.625 0.625 +0.5625 0.625 0.6562 +0.5625 0.625 0.6875 +0.5625 0.625 0.7188 +0.5625 0.625 0.75 +0.5625 0.625 0.7812 +0.5625 0.625 0.8125 +0.5625 0.625 0.8438 +0.5625 0.625 0.875 +0.5625 0.625 0.9062 +0.5625 0.625 0.9375 +0.5625 0.625 0.9688 +0.5625 0.625 1 +0.5625 0.6562 0 +0.5625 0.6562 0.03125 +0.5625 0.6562 0.0625 +0.5625 0.6562 0.09375 +0.5625 0.6562 0.125 +0.5625 0.6562 0.1562 +0.5625 0.6562 0.1875 +0.5625 0.6562 0.2188 +0.5625 0.6562 0.25 +0.5625 0.6562 0.2812 +0.5625 0.6562 0.3125 +0.5625 0.6562 0.3438 +0.5625 0.6562 0.375 +0.5625 0.6562 0.4062 +0.5625 0.6562 0.4375 +0.5625 0.6562 0.4688 +0.5625 0.6562 0.5 +0.5625 0.6562 0.5312 +0.5625 0.6562 0.5625 +0.5625 0.6562 0.5938 +0.5625 0.6562 0.625 +0.5625 0.6562 0.6562 +0.5625 0.6562 0.6875 +0.5625 0.6562 0.7188 +0.5625 0.6562 0.75 +0.5625 0.6562 0.7812 +0.5625 0.6562 0.8125 +0.5625 0.6562 0.8438 +0.5625 0.6562 0.875 +0.5625 0.6562 0.9062 +0.5625 0.6562 0.9375 +0.5625 0.6562 0.9688 +0.5625 0.6562 1 +0.5625 0.6875 0 +0.5625 0.6875 0.03125 +0.5625 0.6875 0.0625 +0.5625 0.6875 0.09375 +0.5625 0.6875 0.125 +0.5625 0.6875 0.1562 +0.5625 0.6875 0.1875 +0.5625 0.6875 0.2188 +0.5625 0.6875 0.25 +0.5625 0.6875 0.2812 +0.5625 0.6875 0.3125 +0.5625 0.6875 0.3438 +0.5625 0.6875 0.375 +0.5625 0.6875 0.4062 +0.5625 0.6875 0.4375 +0.5625 0.6875 0.4688 +0.5625 0.6875 0.5 +0.5625 0.6875 0.5312 +0.5625 0.6875 0.5625 +0.5625 0.6875 0.5938 +0.5625 0.6875 0.625 +0.5625 0.6875 0.6562 +0.5625 0.6875 0.6875 +0.5625 0.6875 0.7188 +0.5625 0.6875 0.75 +0.5625 0.6875 0.7812 +0.5625 0.6875 0.8125 +0.5625 0.6875 0.8438 +0.5625 0.6875 0.875 +0.5625 0.6875 0.9062 +0.5625 0.6875 0.9375 +0.5625 0.6875 0.9688 +0.5625 0.6875 1 +0.5625 0.7188 0 +0.5625 0.7188 0.03125 +0.5625 0.7188 0.0625 +0.5625 0.7188 0.09375 +0.5625 0.7188 0.125 +0.5625 0.7188 0.1562 +0.5625 0.7188 0.1875 +0.5625 0.7188 0.2188 +0.5625 0.7188 0.25 +0.5625 0.7188 0.2812 +0.5625 0.7188 0.3125 +0.5625 0.7188 0.3438 +0.5625 0.7188 0.375 +0.5625 0.7188 0.4062 +0.5625 0.7188 0.4375 +0.5625 0.7188 0.4688 +0.5625 0.7188 0.5 +0.5625 0.7188 0.5312 +0.5625 0.7188 0.5625 +0.5625 0.7188 0.5938 +0.5625 0.7188 0.625 +0.5625 0.7188 0.6562 +0.5625 0.7188 0.6875 +0.5625 0.7188 0.7188 +0.5625 0.7188 0.75 +0.5625 0.7188 0.7812 +0.5625 0.7188 0.8125 +0.5625 0.7188 0.8438 +0.5625 0.7188 0.875 +0.5625 0.7188 0.9062 +0.5625 0.7188 0.9375 +0.5625 0.7188 0.9688 +0.5625 0.7188 1 +0.5625 0.75 0 +0.5625 0.75 0.03125 +0.5625 0.75 0.0625 +0.5625 0.75 0.09375 +0.5625 0.75 0.125 +0.5625 0.75 0.1562 +0.5625 0.75 0.1875 +0.5625 0.75 0.2188 +0.5625 0.75 0.25 +0.5625 0.75 0.2812 +0.5625 0.75 0.3125 +0.5625 0.75 0.3438 +0.5625 0.75 0.375 +0.5625 0.75 0.4062 +0.5625 0.75 0.4375 +0.5625 0.75 0.4688 +0.5625 0.75 0.5 +0.5625 0.75 0.5312 +0.5625 0.75 0.5625 +0.5625 0.75 0.5938 +0.5625 0.75 0.625 +0.5625 0.75 0.6562 +0.5625 0.75 0.6875 +0.5625 0.75 0.7188 +0.5625 0.75 0.75 +0.5625 0.75 0.7812 +0.5625 0.75 0.8125 +0.5625 0.75 0.8438 +0.5625 0.75 0.875 +0.5625 0.75 0.9062 +0.5625 0.75 0.9375 +0.5625 0.75 0.9688 +0.5625 0.75 1 +0.5625 0.7812 0 +0.5625 0.7812 0.03125 +0.5625 0.7812 0.0625 +0.5625 0.7812 0.09375 +0.5625 0.7812 0.125 +0.5625 0.7812 0.1562 +0.5625 0.7812 0.1875 +0.5625 0.7812 0.2188 +0.5625 0.7812 0.25 +0.5625 0.7812 0.2812 +0.5625 0.7812 0.3125 +0.5625 0.7812 0.3438 +0.5625 0.7812 0.375 +0.5625 0.7812 0.4062 +0.5625 0.7812 0.4375 +0.5625 0.7812 0.4688 +0.5625 0.7812 0.5 +0.5625 0.7812 0.5312 +0.5625 0.7812 0.5625 +0.5625 0.7812 0.5938 +0.5625 0.7812 0.625 +0.5625 0.7812 0.6562 +0.5625 0.7812 0.6875 +0.5625 0.7812 0.7188 +0.5625 0.7812 0.75 +0.5625 0.7812 0.7812 +0.5625 0.7812 0.8125 +0.5625 0.7812 0.8438 +0.5625 0.7812 0.875 +0.5625 0.7812 0.9062 +0.5625 0.7812 0.9375 +0.5625 0.7812 0.9688 +0.5625 0.7812 1 +0.5625 0.8125 0 +0.5625 0.8125 0.03125 +0.5625 0.8125 0.0625 +0.5625 0.8125 0.09375 +0.5625 0.8125 0.125 +0.5625 0.8125 0.1562 +0.5625 0.8125 0.1875 +0.5625 0.8125 0.2188 +0.5625 0.8125 0.25 +0.5625 0.8125 0.2812 +0.5625 0.8125 0.3125 +0.5625 0.8125 0.3438 +0.5625 0.8125 0.375 +0.5625 0.8125 0.4062 +0.5625 0.8125 0.4375 +0.5625 0.8125 0.4688 +0.5625 0.8125 0.5 +0.5625 0.8125 0.5312 +0.5625 0.8125 0.5625 +0.5625 0.8125 0.5938 +0.5625 0.8125 0.625 +0.5625 0.8125 0.6562 +0.5625 0.8125 0.6875 +0.5625 0.8125 0.7188 +0.5625 0.8125 0.75 +0.5625 0.8125 0.7812 +0.5625 0.8125 0.8125 +0.5625 0.8125 0.8438 +0.5625 0.8125 0.875 +0.5625 0.8125 0.9062 +0.5625 0.8125 0.9375 +0.5625 0.8125 0.9688 +0.5625 0.8125 1 +0.5625 0.8438 0 +0.5625 0.8438 0.03125 +0.5625 0.8438 0.0625 +0.5625 0.8438 0.09375 +0.5625 0.8438 0.125 +0.5625 0.8438 0.1562 +0.5625 0.8438 0.1875 +0.5625 0.8438 0.2188 +0.5625 0.8438 0.25 +0.5625 0.8438 0.2812 +0.5625 0.8438 0.3125 +0.5625 0.8438 0.3438 +0.5625 0.8438 0.375 +0.5625 0.8438 0.4062 +0.5625 0.8438 0.4375 +0.5625 0.8438 0.4688 +0.5625 0.8438 0.5 +0.5625 0.8438 0.5312 +0.5625 0.8438 0.5625 +0.5625 0.8438 0.5938 +0.5625 0.8438 0.625 +0.5625 0.8438 0.6562 +0.5625 0.8438 0.6875 +0.5625 0.8438 0.7188 +0.5625 0.8438 0.75 +0.5625 0.8438 0.7812 +0.5625 0.8438 0.8125 +0.5625 0.8438 0.8438 +0.5625 0.8438 0.875 +0.5625 0.8438 0.9062 +0.5625 0.8438 0.9375 +0.5625 0.8438 0.9688 +0.5625 0.8438 1 +0.5625 0.875 0 +0.5625 0.875 0.03125 +0.5625 0.875 0.0625 +0.5625 0.875 0.09375 +0.5625 0.875 0.125 +0.5625 0.875 0.1562 +0.5625 0.875 0.1875 +0.5625 0.875 0.2188 +0.5625 0.875 0.25 +0.5625 0.875 0.2812 +0.5625 0.875 0.3125 +0.5625 0.875 0.3438 +0.5625 0.875 0.375 +0.5625 0.875 0.4062 +0.5625 0.875 0.4375 +0.5625 0.875 0.4688 +0.5625 0.875 0.5 +0.5625 0.875 0.5312 +0.5625 0.875 0.5625 +0.5625 0.875 0.5938 +0.5625 0.875 0.625 +0.5625 0.875 0.6562 +0.5625 0.875 0.6875 +0.5625 0.875 0.7188 +0.5625 0.875 0.75 +0.5625 0.875 0.7812 +0.5625 0.875 0.8125 +0.5625 0.875 0.8438 +0.5625 0.875 0.875 +0.5625 0.875 0.9062 +0.5625 0.875 0.9375 +0.5625 0.875 0.9688 +0.5625 0.875 1 +0.5625 0.9062 0 +0.5625 0.9062 0.03125 +0.5625 0.9062 0.0625 +0.5625 0.9062 0.09375 +0.5625 0.9062 0.125 +0.5625 0.9062 0.1562 +0.5625 0.9062 0.1875 +0.5625 0.9062 0.2188 +0.5625 0.9062 0.25 +0.5625 0.9062 0.2812 +0.5625 0.9062 0.3125 +0.5625 0.9062 0.3438 +0.5625 0.9062 0.375 +0.5625 0.9062 0.4062 +0.5625 0.9062 0.4375 +0.5625 0.9062 0.4688 +0.5625 0.9062 0.5 +0.5625 0.9062 0.5312 +0.5625 0.9062 0.5625 +0.5625 0.9062 0.5938 +0.5625 0.9062 0.625 +0.5625 0.9062 0.6562 +0.5625 0.9062 0.6875 +0.5625 0.9062 0.7188 +0.5625 0.9062 0.75 +0.5625 0.9062 0.7812 +0.5625 0.9062 0.8125 +0.5625 0.9062 0.8438 +0.5625 0.9062 0.875 +0.5625 0.9062 0.9062 +0.5625 0.9062 0.9375 +0.5625 0.9062 0.9688 +0.5625 0.9062 1 +0.5625 0.9375 0 +0.5625 0.9375 0.03125 +0.5625 0.9375 0.0625 +0.5625 0.9375 0.09375 +0.5625 0.9375 0.125 +0.5625 0.9375 0.1562 +0.5625 0.9375 0.1875 +0.5625 0.9375 0.2188 +0.5625 0.9375 0.25 +0.5625 0.9375 0.2812 +0.5625 0.9375 0.3125 +0.5625 0.9375 0.3438 +0.5625 0.9375 0.375 +0.5625 0.9375 0.4062 +0.5625 0.9375 0.4375 +0.5625 0.9375 0.4688 +0.5625 0.9375 0.5 +0.5625 0.9375 0.5312 +0.5625 0.9375 0.5625 +0.5625 0.9375 0.5938 +0.5625 0.9375 0.625 +0.5625 0.9375 0.6562 +0.5625 0.9375 0.6875 +0.5625 0.9375 0.7188 +0.5625 0.9375 0.75 +0.5625 0.9375 0.7812 +0.5625 0.9375 0.8125 +0.5625 0.9375 0.8438 +0.5625 0.9375 0.875 +0.5625 0.9375 0.9062 +0.5625 0.9375 0.9375 +0.5625 0.9375 0.9688 +0.5625 0.9375 1 +0.5625 0.9688 0 +0.5625 0.9688 0.03125 +0.5625 0.9688 0.0625 +0.5625 0.9688 0.09375 +0.5625 0.9688 0.125 +0.5625 0.9688 0.1562 +0.5625 0.9688 0.1875 +0.5625 0.9688 0.2188 +0.5625 0.9688 0.25 +0.5625 0.9688 0.2812 +0.5625 0.9688 0.3125 +0.5625 0.9688 0.3438 +0.5625 0.9688 0.375 +0.5625 0.9688 0.4062 +0.5625 0.9688 0.4375 +0.5625 0.9688 0.4688 +0.5625 0.9688 0.5 +0.5625 0.9688 0.5312 +0.5625 0.9688 0.5625 +0.5625 0.9688 0.5938 +0.5625 0.9688 0.625 +0.5625 0.9688 0.6562 +0.5625 0.9688 0.6875 +0.5625 0.9688 0.7188 +0.5625 0.9688 0.75 +0.5625 0.9688 0.7812 +0.5625 0.9688 0.8125 +0.5625 0.9688 0.8438 +0.5625 0.9688 0.875 +0.5625 0.9688 0.9062 +0.5625 0.9688 0.9375 +0.5625 0.9688 0.9688 +0.5625 0.9688 1 +0.5625 1 0 +0.5625 1 0.03125 +0.5625 1 0.0625 +0.5625 1 0.09375 +0.5625 1 0.125 +0.5625 1 0.1562 +0.5625 1 0.1875 +0.5625 1 0.2188 +0.5625 1 0.25 +0.5625 1 0.2812 +0.5625 1 0.3125 +0.5625 1 0.3438 +0.5625 1 0.375 +0.5625 1 0.4062 +0.5625 1 0.4375 +0.5625 1 0.4688 +0.5625 1 0.5 +0.5625 1 0.5312 +0.5625 1 0.5625 +0.5625 1 0.5938 +0.5625 1 0.625 +0.5625 1 0.6562 +0.5625 1 0.6875 +0.5625 1 0.7188 +0.5625 1 0.75 +0.5625 1 0.7812 +0.5625 1 0.8125 +0.5625 1 0.8438 +0.5625 1 0.875 +0.5625 1 0.9062 +0.5625 1 0.9375 +0.5625 1 0.9688 +0.5625 1 1 +0.5938 0 0 +0.5938 0 0.03125 +0.5938 0 0.0625 +0.5938 0 0.09375 +0.5938 0 0.125 +0.5938 0 0.1562 +0.5938 0 0.1875 +0.5938 0 0.2188 +0.5938 0 0.25 +0.5938 0 0.2812 +0.5938 0 0.3125 +0.5938 0 0.3438 +0.5938 0 0.375 +0.5938 0 0.4062 +0.5938 0 0.4375 +0.5938 0 0.4688 +0.5938 0 0.5 +0.5938 0 0.5312 +0.5938 0 0.5625 +0.5938 0 0.5938 +0.5938 0 0.625 +0.5938 0 0.6562 +0.5938 0 0.6875 +0.5938 0 0.7188 +0.5938 0 0.75 +0.5938 0 0.7812 +0.5938 0 0.8125 +0.5938 0 0.8438 +0.5938 0 0.875 +0.5938 0 0.9062 +0.5938 0 0.9375 +0.5938 0 0.9688 +0.5938 0 1 +0.5938 0.03125 0 +0.5938 0.03125 0.03125 +0.5938 0.03125 0.0625 +0.5938 0.03125 0.09375 +0.5938 0.03125 0.125 +0.5938 0.03125 0.1562 +0.5938 0.03125 0.1875 +0.5938 0.03125 0.2188 +0.5938 0.03125 0.25 +0.5938 0.03125 0.2812 +0.5938 0.03125 0.3125 +0.5938 0.03125 0.3438 +0.5938 0.03125 0.375 +0.5938 0.03125 0.4062 +0.5938 0.03125 0.4375 +0.5938 0.03125 0.4688 +0.5938 0.03125 0.5 +0.5938 0.03125 0.5312 +0.5938 0.03125 0.5625 +0.5938 0.03125 0.5938 +0.5938 0.03125 0.625 +0.5938 0.03125 0.6562 +0.5938 0.03125 0.6875 +0.5938 0.03125 0.7188 +0.5938 0.03125 0.75 +0.5938 0.03125 0.7812 +0.5938 0.03125 0.8125 +0.5938 0.03125 0.8438 +0.5938 0.03125 0.875 +0.5938 0.03125 0.9062 +0.5938 0.03125 0.9375 +0.5938 0.03125 0.9688 +0.5938 0.03125 1 +0.5938 0.0625 0 +0.5938 0.0625 0.03125 +0.5938 0.0625 0.0625 +0.5938 0.0625 0.09375 +0.5938 0.0625 0.125 +0.5938 0.0625 0.1562 +0.5938 0.0625 0.1875 +0.5938 0.0625 0.2188 +0.5938 0.0625 0.25 +0.5938 0.0625 0.2812 +0.5938 0.0625 0.3125 +0.5938 0.0625 0.3438 +0.5938 0.0625 0.375 +0.5938 0.0625 0.4062 +0.5938 0.0625 0.4375 +0.5938 0.0625 0.4688 +0.5938 0.0625 0.5 +0.5938 0.0625 0.5312 +0.5938 0.0625 0.5625 +0.5938 0.0625 0.5938 +0.5938 0.0625 0.625 +0.5938 0.0625 0.6562 +0.5938 0.0625 0.6875 +0.5938 0.0625 0.7188 +0.5938 0.0625 0.75 +0.5938 0.0625 0.7812 +0.5938 0.0625 0.8125 +0.5938 0.0625 0.8438 +0.5938 0.0625 0.875 +0.5938 0.0625 0.9062 +0.5938 0.0625 0.9375 +0.5938 0.0625 0.9688 +0.5938 0.0625 1 +0.5938 0.09375 0 +0.5938 0.09375 0.03125 +0.5938 0.09375 0.0625 +0.5938 0.09375 0.09375 +0.5938 0.09375 0.125 +0.5938 0.09375 0.1562 +0.5938 0.09375 0.1875 +0.5938 0.09375 0.2188 +0.5938 0.09375 0.25 +0.5938 0.09375 0.2812 +0.5938 0.09375 0.3125 +0.5938 0.09375 0.3438 +0.5938 0.09375 0.375 +0.5938 0.09375 0.4062 +0.5938 0.09375 0.4375 +0.5938 0.09375 0.4688 +0.5938 0.09375 0.5 +0.5938 0.09375 0.5312 +0.5938 0.09375 0.5625 +0.5938 0.09375 0.5938 +0.5938 0.09375 0.625 +0.5938 0.09375 0.6562 +0.5938 0.09375 0.6875 +0.5938 0.09375 0.7188 +0.5938 0.09375 0.75 +0.5938 0.09375 0.7812 +0.5938 0.09375 0.8125 +0.5938 0.09375 0.8438 +0.5938 0.09375 0.875 +0.5938 0.09375 0.9062 +0.5938 0.09375 0.9375 +0.5938 0.09375 0.9688 +0.5938 0.09375 1 +0.5938 0.125 0 +0.5938 0.125 0.03125 +0.5938 0.125 0.0625 +0.5938 0.125 0.09375 +0.5938 0.125 0.125 +0.5938 0.125 0.1562 +0.5938 0.125 0.1875 +0.5938 0.125 0.2188 +0.5938 0.125 0.25 +0.5938 0.125 0.2812 +0.5938 0.125 0.3125 +0.5938 0.125 0.3438 +0.5938 0.125 0.375 +0.5938 0.125 0.4062 +0.5938 0.125 0.4375 +0.5938 0.125 0.4688 +0.5938 0.125 0.5 +0.5938 0.125 0.5312 +0.5938 0.125 0.5625 +0.5938 0.125 0.5938 +0.5938 0.125 0.625 +0.5938 0.125 0.6562 +0.5938 0.125 0.6875 +0.5938 0.125 0.7188 +0.5938 0.125 0.75 +0.5938 0.125 0.7812 +0.5938 0.125 0.8125 +0.5938 0.125 0.8438 +0.5938 0.125 0.875 +0.5938 0.125 0.9062 +0.5938 0.125 0.9375 +0.5938 0.125 0.9688 +0.5938 0.125 1 +0.5938 0.1562 0 +0.5938 0.1562 0.03125 +0.5938 0.1562 0.0625 +0.5938 0.1562 0.09375 +0.5938 0.1562 0.125 +0.5938 0.1562 0.1562 +0.5938 0.1562 0.1875 +0.5938 0.1562 0.2188 +0.5938 0.1562 0.25 +0.5938 0.1562 0.2812 +0.5938 0.1562 0.3125 +0.5938 0.1562 0.3438 +0.5938 0.1562 0.375 +0.5938 0.1562 0.4062 +0.5938 0.1562 0.4375 +0.5938 0.1562 0.4688 +0.5938 0.1562 0.5 +0.5938 0.1562 0.5312 +0.5938 0.1562 0.5625 +0.5938 0.1562 0.5938 +0.5938 0.1562 0.625 +0.5938 0.1562 0.6562 +0.5938 0.1562 0.6875 +0.5938 0.1562 0.7188 +0.5938 0.1562 0.75 +0.5938 0.1562 0.7812 +0.5938 0.1562 0.8125 +0.5938 0.1562 0.8438 +0.5938 0.1562 0.875 +0.5938 0.1562 0.9062 +0.5938 0.1562 0.9375 +0.5938 0.1562 0.9688 +0.5938 0.1562 1 +0.5938 0.1875 0 +0.5938 0.1875 0.03125 +0.5938 0.1875 0.0625 +0.5938 0.1875 0.09375 +0.5938 0.1875 0.125 +0.5938 0.1875 0.1562 +0.5938 0.1875 0.1875 +0.5938 0.1875 0.2188 +0.5938 0.1875 0.25 +0.5938 0.1875 0.2812 +0.5938 0.1875 0.3125 +0.5938 0.1875 0.3438 +0.5938 0.1875 0.375 +0.5938 0.1875 0.4062 +0.5938 0.1875 0.4375 +0.5938 0.1875 0.4688 +0.5938 0.1875 0.5 +0.5938 0.1875 0.5312 +0.5938 0.1875 0.5625 +0.5938 0.1875 0.5938 +0.5938 0.1875 0.625 +0.5938 0.1875 0.6562 +0.5938 0.1875 0.6875 +0.5938 0.1875 0.7188 +0.5938 0.1875 0.75 +0.5938 0.1875 0.7812 +0.5938 0.1875 0.8125 +0.5938 0.1875 0.8438 +0.5938 0.1875 0.875 +0.5938 0.1875 0.9062 +0.5938 0.1875 0.9375 +0.5938 0.1875 0.9688 +0.5938 0.1875 1 +0.5938 0.2188 0 +0.5938 0.2188 0.03125 +0.5938 0.2188 0.0625 +0.5938 0.2188 0.09375 +0.5938 0.2188 0.125 +0.5938 0.2188 0.1562 +0.5938 0.2188 0.1875 +0.5938 0.2188 0.2188 +0.5938 0.2188 0.25 +0.5938 0.2188 0.2812 +0.5938 0.2188 0.3125 +0.5938 0.2188 0.3438 +0.5938 0.2188 0.375 +0.5938 0.2188 0.4062 +0.5938 0.2188 0.4375 +0.5938 0.2188 0.4688 +0.5938 0.2188 0.5 +0.5938 0.2188 0.5312 +0.5938 0.2188 0.5625 +0.5938 0.2188 0.5938 +0.5938 0.2188 0.625 +0.5938 0.2188 0.6562 +0.5938 0.2188 0.6875 +0.5938 0.2188 0.7188 +0.5938 0.2188 0.75 +0.5938 0.2188 0.7812 +0.5938 0.2188 0.8125 +0.5938 0.2188 0.8438 +0.5938 0.2188 0.875 +0.5938 0.2188 0.9062 +0.5938 0.2188 0.9375 +0.5938 0.2188 0.9688 +0.5938 0.2188 1 +0.5938 0.25 0 +0.5938 0.25 0.03125 +0.5938 0.25 0.0625 +0.5938 0.25 0.09375 +0.5938 0.25 0.125 +0.5938 0.25 0.1562 +0.5938 0.25 0.1875 +0.5938 0.25 0.2188 +0.5938 0.25 0.25 +0.5938 0.25 0.2812 +0.5938 0.25 0.3125 +0.5938 0.25 0.3438 +0.5938 0.25 0.375 +0.5938 0.25 0.4062 +0.5938 0.25 0.4375 +0.5938 0.25 0.4688 +0.5938 0.25 0.5 +0.5938 0.25 0.5312 +0.5938 0.25 0.5625 +0.5938 0.25 0.5938 +0.5938 0.25 0.625 +0.5938 0.25 0.6562 +0.5938 0.25 0.6875 +0.5938 0.25 0.7188 +0.5938 0.25 0.75 +0.5938 0.25 0.7812 +0.5938 0.25 0.8125 +0.5938 0.25 0.8438 +0.5938 0.25 0.875 +0.5938 0.25 0.9062 +0.5938 0.25 0.9375 +0.5938 0.25 0.9688 +0.5938 0.25 1 +0.5938 0.2812 0 +0.5938 0.2812 0.03125 +0.5938 0.2812 0.0625 +0.5938 0.2812 0.09375 +0.5938 0.2812 0.125 +0.5938 0.2812 0.1562 +0.5938 0.2812 0.1875 +0.5938 0.2812 0.2188 +0.5938 0.2812 0.25 +0.5938 0.2812 0.2812 +0.5938 0.2812 0.3125 +0.5938 0.2812 0.3438 +0.5938 0.2812 0.375 +0.5938 0.2812 0.4062 +0.5938 0.2812 0.4375 +0.5938 0.2812 0.4688 +0.5938 0.2812 0.5 +0.5938 0.2812 0.5312 +0.5938 0.2812 0.5625 +0.5938 0.2812 0.5938 +0.5938 0.2812 0.625 +0.5938 0.2812 0.6562 +0.5938 0.2812 0.6875 +0.5938 0.2812 0.7188 +0.5938 0.2812 0.75 +0.5938 0.2812 0.7812 +0.5938 0.2812 0.8125 +0.5938 0.2812 0.8438 +0.5938 0.2812 0.875 +0.5938 0.2812 0.9062 +0.5938 0.2812 0.9375 +0.5938 0.2812 0.9688 +0.5938 0.2812 1 +0.5938 0.3125 0 +0.5938 0.3125 0.03125 +0.5938 0.3125 0.0625 +0.5938 0.3125 0.09375 +0.5938 0.3125 0.125 +0.5938 0.3125 0.1562 +0.5938 0.3125 0.1875 +0.5938 0.3125 0.2188 +0.5938 0.3125 0.25 +0.5938 0.3125 0.2812 +0.5938 0.3125 0.3125 +0.5938 0.3125 0.3438 +0.5938 0.3125 0.375 +0.5938 0.3125 0.4062 +0.5938 0.3125 0.4375 +0.5938 0.3125 0.4688 +0.5938 0.3125 0.5 +0.5938 0.3125 0.5312 +0.5938 0.3125 0.5625 +0.5938 0.3125 0.5938 +0.5938 0.3125 0.625 +0.5938 0.3125 0.6562 +0.5938 0.3125 0.6875 +0.5938 0.3125 0.7188 +0.5938 0.3125 0.75 +0.5938 0.3125 0.7812 +0.5938 0.3125 0.8125 +0.5938 0.3125 0.8438 +0.5938 0.3125 0.875 +0.5938 0.3125 0.9062 +0.5938 0.3125 0.9375 +0.5938 0.3125 0.9688 +0.5938 0.3125 1 +0.5938 0.3438 0 +0.5938 0.3438 0.03125 +0.5938 0.3438 0.0625 +0.5938 0.3438 0.09375 +0.5938 0.3438 0.125 +0.5938 0.3438 0.1562 +0.5938 0.3438 0.1875 +0.5938 0.3438 0.2188 +0.5938 0.3438 0.25 +0.5938 0.3438 0.2812 +0.5938 0.3438 0.3125 +0.5938 0.3438 0.3438 +0.5938 0.3438 0.375 +0.5938 0.3438 0.4062 +0.5938 0.3438 0.4375 +0.5938 0.3438 0.4688 +0.5938 0.3438 0.5 +0.5938 0.3438 0.5312 +0.5938 0.3438 0.5625 +0.5938 0.3438 0.5938 +0.5938 0.3438 0.625 +0.5938 0.3438 0.6562 +0.5938 0.3438 0.6875 +0.5938 0.3438 0.7188 +0.5938 0.3438 0.75 +0.5938 0.3438 0.7812 +0.5938 0.3438 0.8125 +0.5938 0.3438 0.8438 +0.5938 0.3438 0.875 +0.5938 0.3438 0.9062 +0.5938 0.3438 0.9375 +0.5938 0.3438 0.9688 +0.5938 0.3438 1 +0.5938 0.375 0 +0.5938 0.375 0.03125 +0.5938 0.375 0.0625 +0.5938 0.375 0.09375 +0.5938 0.375 0.125 +0.5938 0.375 0.1562 +0.5938 0.375 0.1875 +0.5938 0.375 0.2188 +0.5938 0.375 0.25 +0.5938 0.375 0.2812 +0.5938 0.375 0.3125 +0.5938 0.375 0.3438 +0.5938 0.375 0.375 +0.5938 0.375 0.4062 +0.5938 0.375 0.4375 +0.5938 0.375 0.4688 +0.5938 0.375 0.5 +0.5938 0.375 0.5312 +0.5938 0.375 0.5625 +0.5938 0.375 0.5938 +0.5938 0.375 0.625 +0.5938 0.375 0.6562 +0.5938 0.375 0.6875 +0.5938 0.375 0.7188 +0.5938 0.375 0.75 +0.5938 0.375 0.7812 +0.5938 0.375 0.8125 +0.5938 0.375 0.8438 +0.5938 0.375 0.875 +0.5938 0.375 0.9062 +0.5938 0.375 0.9375 +0.5938 0.375 0.9688 +0.5938 0.375 1 +0.5938 0.4062 0 +0.5938 0.4062 0.03125 +0.5938 0.4062 0.0625 +0.5938 0.4062 0.09375 +0.5938 0.4062 0.125 +0.5938 0.4062 0.1562 +0.5938 0.4062 0.1875 +0.5938 0.4062 0.2188 +0.5938 0.4062 0.25 +0.5938 0.4062 0.2812 +0.5938 0.4062 0.3125 +0.5938 0.4062 0.3438 +0.5938 0.4062 0.375 +0.5938 0.4062 0.4062 +0.5938 0.4062 0.4375 +0.5938 0.4062 0.4688 +0.5938 0.4062 0.5 +0.5938 0.4062 0.5312 +0.5938 0.4062 0.5625 +0.5938 0.4062 0.5938 +0.5938 0.4062 0.625 +0.5938 0.4062 0.6562 +0.5938 0.4062 0.6875 +0.5938 0.4062 0.7188 +0.5938 0.4062 0.75 +0.5938 0.4062 0.7812 +0.5938 0.4062 0.8125 +0.5938 0.4062 0.8438 +0.5938 0.4062 0.875 +0.5938 0.4062 0.9062 +0.5938 0.4062 0.9375 +0.5938 0.4062 0.9688 +0.5938 0.4062 1 +0.5938 0.4375 0 +0.5938 0.4375 0.03125 +0.5938 0.4375 0.0625 +0.5938 0.4375 0.09375 +0.5938 0.4375 0.125 +0.5938 0.4375 0.1562 +0.5938 0.4375 0.1875 +0.5938 0.4375 0.2188 +0.5938 0.4375 0.25 +0.5938 0.4375 0.2812 +0.5938 0.4375 0.3125 +0.5938 0.4375 0.3438 +0.5938 0.4375 0.375 +0.5938 0.4375 0.4062 +0.5938 0.4375 0.4375 +0.5938 0.4375 0.4688 +0.5938 0.4375 0.5 +0.5938 0.4375 0.5312 +0.5938 0.4375 0.5625 +0.5938 0.4375 0.5938 +0.5938 0.4375 0.625 +0.5938 0.4375 0.6562 +0.5938 0.4375 0.6875 +0.5938 0.4375 0.7188 +0.5938 0.4375 0.75 +0.5938 0.4375 0.7812 +0.5938 0.4375 0.8125 +0.5938 0.4375 0.8438 +0.5938 0.4375 0.875 +0.5938 0.4375 0.9062 +0.5938 0.4375 0.9375 +0.5938 0.4375 0.9688 +0.5938 0.4375 1 +0.5938 0.4688 0 +0.5938 0.4688 0.03125 +0.5938 0.4688 0.0625 +0.5938 0.4688 0.09375 +0.5938 0.4688 0.125 +0.5938 0.4688 0.1562 +0.5938 0.4688 0.1875 +0.5938 0.4688 0.2188 +0.5938 0.4688 0.25 +0.5938 0.4688 0.2812 +0.5938 0.4688 0.3125 +0.5938 0.4688 0.3438 +0.5938 0.4688 0.375 +0.5938 0.4688 0.4062 +0.5938 0.4688 0.4375 +0.5938 0.4688 0.4688 +0.5938 0.4688 0.5 +0.5938 0.4688 0.5312 +0.5938 0.4688 0.5625 +0.5938 0.4688 0.5938 +0.5938 0.4688 0.625 +0.5938 0.4688 0.6562 +0.5938 0.4688 0.6875 +0.5938 0.4688 0.7188 +0.5938 0.4688 0.75 +0.5938 0.4688 0.7812 +0.5938 0.4688 0.8125 +0.5938 0.4688 0.8438 +0.5938 0.4688 0.875 +0.5938 0.4688 0.9062 +0.5938 0.4688 0.9375 +0.5938 0.4688 0.9688 +0.5938 0.4688 1 +0.5938 0.5 0 +0.5938 0.5 0.03125 +0.5938 0.5 0.0625 +0.5938 0.5 0.09375 +0.5938 0.5 0.125 +0.5938 0.5 0.1562 +0.5938 0.5 0.1875 +0.5938 0.5 0.2188 +0.5938 0.5 0.25 +0.5938 0.5 0.2812 +0.5938 0.5 0.3125 +0.5938 0.5 0.3438 +0.5938 0.5 0.375 +0.5938 0.5 0.4062 +0.5938 0.5 0.4375 +0.5938 0.5 0.4688 +0.5938 0.5 0.5 +0.5938 0.5 0.5312 +0.5938 0.5 0.5625 +0.5938 0.5 0.5938 +0.5938 0.5 0.625 +0.5938 0.5 0.6562 +0.5938 0.5 0.6875 +0.5938 0.5 0.7188 +0.5938 0.5 0.75 +0.5938 0.5 0.7812 +0.5938 0.5 0.8125 +0.5938 0.5 0.8438 +0.5938 0.5 0.875 +0.5938 0.5 0.9062 +0.5938 0.5 0.9375 +0.5938 0.5 0.9688 +0.5938 0.5 1 +0.5938 0.5312 0 +0.5938 0.5312 0.03125 +0.5938 0.5312 0.0625 +0.5938 0.5312 0.09375 +0.5938 0.5312 0.125 +0.5938 0.5312 0.1562 +0.5938 0.5312 0.1875 +0.5938 0.5312 0.2188 +0.5938 0.5312 0.25 +0.5938 0.5312 0.2812 +0.5938 0.5312 0.3125 +0.5938 0.5312 0.3438 +0.5938 0.5312 0.375 +0.5938 0.5312 0.4062 +0.5938 0.5312 0.4375 +0.5938 0.5312 0.4688 +0.5938 0.5312 0.5 +0.5938 0.5312 0.5312 +0.5938 0.5312 0.5625 +0.5938 0.5312 0.5938 +0.5938 0.5312 0.625 +0.5938 0.5312 0.6562 +0.5938 0.5312 0.6875 +0.5938 0.5312 0.7188 +0.5938 0.5312 0.75 +0.5938 0.5312 0.7812 +0.5938 0.5312 0.8125 +0.5938 0.5312 0.8438 +0.5938 0.5312 0.875 +0.5938 0.5312 0.9062 +0.5938 0.5312 0.9375 +0.5938 0.5312 0.9688 +0.5938 0.5312 1 +0.5938 0.5625 0 +0.5938 0.5625 0.03125 +0.5938 0.5625 0.0625 +0.5938 0.5625 0.09375 +0.5938 0.5625 0.125 +0.5938 0.5625 0.1562 +0.5938 0.5625 0.1875 +0.5938 0.5625 0.2188 +0.5938 0.5625 0.25 +0.5938 0.5625 0.2812 +0.5938 0.5625 0.3125 +0.5938 0.5625 0.3438 +0.5938 0.5625 0.375 +0.5938 0.5625 0.4062 +0.5938 0.5625 0.4375 +0.5938 0.5625 0.4688 +0.5938 0.5625 0.5 +0.5938 0.5625 0.5312 +0.5938 0.5625 0.5625 +0.5938 0.5625 0.5938 +0.5938 0.5625 0.625 +0.5938 0.5625 0.6562 +0.5938 0.5625 0.6875 +0.5938 0.5625 0.7188 +0.5938 0.5625 0.75 +0.5938 0.5625 0.7812 +0.5938 0.5625 0.8125 +0.5938 0.5625 0.8438 +0.5938 0.5625 0.875 +0.5938 0.5625 0.9062 +0.5938 0.5625 0.9375 +0.5938 0.5625 0.9688 +0.5938 0.5625 1 +0.5938 0.5938 0 +0.5938 0.5938 0.03125 +0.5938 0.5938 0.0625 +0.5938 0.5938 0.09375 +0.5938 0.5938 0.125 +0.5938 0.5938 0.1562 +0.5938 0.5938 0.1875 +0.5938 0.5938 0.2188 +0.5938 0.5938 0.25 +0.5938 0.5938 0.2812 +0.5938 0.5938 0.3125 +0.5938 0.5938 0.3438 +0.5938 0.5938 0.375 +0.5938 0.5938 0.4062 +0.5938 0.5938 0.4375 +0.5938 0.5938 0.4688 +0.5938 0.5938 0.5 +0.5938 0.5938 0.5312 +0.5938 0.5938 0.5625 +0.5938 0.5938 0.5938 +0.5938 0.5938 0.625 +0.5938 0.5938 0.6562 +0.5938 0.5938 0.6875 +0.5938 0.5938 0.7188 +0.5938 0.5938 0.75 +0.5938 0.5938 0.7812 +0.5938 0.5938 0.8125 +0.5938 0.5938 0.8438 +0.5938 0.5938 0.875 +0.5938 0.5938 0.9062 +0.5938 0.5938 0.9375 +0.5938 0.5938 0.9688 +0.5938 0.5938 1 +0.5938 0.625 0 +0.5938 0.625 0.03125 +0.5938 0.625 0.0625 +0.5938 0.625 0.09375 +0.5938 0.625 0.125 +0.5938 0.625 0.1562 +0.5938 0.625 0.1875 +0.5938 0.625 0.2188 +0.5938 0.625 0.25 +0.5938 0.625 0.2812 +0.5938 0.625 0.3125 +0.5938 0.625 0.3438 +0.5938 0.625 0.375 +0.5938 0.625 0.4062 +0.5938 0.625 0.4375 +0.5938 0.625 0.4688 +0.5938 0.625 0.5 +0.5938 0.625 0.5312 +0.5938 0.625 0.5625 +0.5938 0.625 0.5938 +0.5938 0.625 0.625 +0.5938 0.625 0.6562 +0.5938 0.625 0.6875 +0.5938 0.625 0.7188 +0.5938 0.625 0.75 +0.5938 0.625 0.7812 +0.5938 0.625 0.8125 +0.5938 0.625 0.8438 +0.5938 0.625 0.875 +0.5938 0.625 0.9062 +0.5938 0.625 0.9375 +0.5938 0.625 0.9688 +0.5938 0.625 1 +0.5938 0.6562 0 +0.5938 0.6562 0.03125 +0.5938 0.6562 0.0625 +0.5938 0.6562 0.09375 +0.5938 0.6562 0.125 +0.5938 0.6562 0.1562 +0.5938 0.6562 0.1875 +0.5938 0.6562 0.2188 +0.5938 0.6562 0.25 +0.5938 0.6562 0.2812 +0.5938 0.6562 0.3125 +0.5938 0.6562 0.3438 +0.5938 0.6562 0.375 +0.5938 0.6562 0.4062 +0.5938 0.6562 0.4375 +0.5938 0.6562 0.4688 +0.5938 0.6562 0.5 +0.5938 0.6562 0.5312 +0.5938 0.6562 0.5625 +0.5938 0.6562 0.5938 +0.5938 0.6562 0.625 +0.5938 0.6562 0.6562 +0.5938 0.6562 0.6875 +0.5938 0.6562 0.7188 +0.5938 0.6562 0.75 +0.5938 0.6562 0.7812 +0.5938 0.6562 0.8125 +0.5938 0.6562 0.8438 +0.5938 0.6562 0.875 +0.5938 0.6562 0.9062 +0.5938 0.6562 0.9375 +0.5938 0.6562 0.9688 +0.5938 0.6562 1 +0.5938 0.6875 0 +0.5938 0.6875 0.03125 +0.5938 0.6875 0.0625 +0.5938 0.6875 0.09375 +0.5938 0.6875 0.125 +0.5938 0.6875 0.1562 +0.5938 0.6875 0.1875 +0.5938 0.6875 0.2188 +0.5938 0.6875 0.25 +0.5938 0.6875 0.2812 +0.5938 0.6875 0.3125 +0.5938 0.6875 0.3438 +0.5938 0.6875 0.375 +0.5938 0.6875 0.4062 +0.5938 0.6875 0.4375 +0.5938 0.6875 0.4688 +0.5938 0.6875 0.5 +0.5938 0.6875 0.5312 +0.5938 0.6875 0.5625 +0.5938 0.6875 0.5938 +0.5938 0.6875 0.625 +0.5938 0.6875 0.6562 +0.5938 0.6875 0.6875 +0.5938 0.6875 0.7188 +0.5938 0.6875 0.75 +0.5938 0.6875 0.7812 +0.5938 0.6875 0.8125 +0.5938 0.6875 0.8438 +0.5938 0.6875 0.875 +0.5938 0.6875 0.9062 +0.5938 0.6875 0.9375 +0.5938 0.6875 0.9688 +0.5938 0.6875 1 +0.5938 0.7188 0 +0.5938 0.7188 0.03125 +0.5938 0.7188 0.0625 +0.5938 0.7188 0.09375 +0.5938 0.7188 0.125 +0.5938 0.7188 0.1562 +0.5938 0.7188 0.1875 +0.5938 0.7188 0.2188 +0.5938 0.7188 0.25 +0.5938 0.7188 0.2812 +0.5938 0.7188 0.3125 +0.5938 0.7188 0.3438 +0.5938 0.7188 0.375 +0.5938 0.7188 0.4062 +0.5938 0.7188 0.4375 +0.5938 0.7188 0.4688 +0.5938 0.7188 0.5 +0.5938 0.7188 0.5312 +0.5938 0.7188 0.5625 +0.5938 0.7188 0.5938 +0.5938 0.7188 0.625 +0.5938 0.7188 0.6562 +0.5938 0.7188 0.6875 +0.5938 0.7188 0.7188 +0.5938 0.7188 0.75 +0.5938 0.7188 0.7812 +0.5938 0.7188 0.8125 +0.5938 0.7188 0.8438 +0.5938 0.7188 0.875 +0.5938 0.7188 0.9062 +0.5938 0.7188 0.9375 +0.5938 0.7188 0.9688 +0.5938 0.7188 1 +0.5938 0.75 0 +0.5938 0.75 0.03125 +0.5938 0.75 0.0625 +0.5938 0.75 0.09375 +0.5938 0.75 0.125 +0.5938 0.75 0.1562 +0.5938 0.75 0.1875 +0.5938 0.75 0.2188 +0.5938 0.75 0.25 +0.5938 0.75 0.2812 +0.5938 0.75 0.3125 +0.5938 0.75 0.3438 +0.5938 0.75 0.375 +0.5938 0.75 0.4062 +0.5938 0.75 0.4375 +0.5938 0.75 0.4688 +0.5938 0.75 0.5 +0.5938 0.75 0.5312 +0.5938 0.75 0.5625 +0.5938 0.75 0.5938 +0.5938 0.75 0.625 +0.5938 0.75 0.6562 +0.5938 0.75 0.6875 +0.5938 0.75 0.7188 +0.5938 0.75 0.75 +0.5938 0.75 0.7812 +0.5938 0.75 0.8125 +0.5938 0.75 0.8438 +0.5938 0.75 0.875 +0.5938 0.75 0.9062 +0.5938 0.75 0.9375 +0.5938 0.75 0.9688 +0.5938 0.75 1 +0.5938 0.7812 0 +0.5938 0.7812 0.03125 +0.5938 0.7812 0.0625 +0.5938 0.7812 0.09375 +0.5938 0.7812 0.125 +0.5938 0.7812 0.1562 +0.5938 0.7812 0.1875 +0.5938 0.7812 0.2188 +0.5938 0.7812 0.25 +0.5938 0.7812 0.2812 +0.5938 0.7812 0.3125 +0.5938 0.7812 0.3438 +0.5938 0.7812 0.375 +0.5938 0.7812 0.4062 +0.5938 0.7812 0.4375 +0.5938 0.7812 0.4688 +0.5938 0.7812 0.5 +0.5938 0.7812 0.5312 +0.5938 0.7812 0.5625 +0.5938 0.7812 0.5938 +0.5938 0.7812 0.625 +0.5938 0.7812 0.6562 +0.5938 0.7812 0.6875 +0.5938 0.7812 0.7188 +0.5938 0.7812 0.75 +0.5938 0.7812 0.7812 +0.5938 0.7812 0.8125 +0.5938 0.7812 0.8438 +0.5938 0.7812 0.875 +0.5938 0.7812 0.9062 +0.5938 0.7812 0.9375 +0.5938 0.7812 0.9688 +0.5938 0.7812 1 +0.5938 0.8125 0 +0.5938 0.8125 0.03125 +0.5938 0.8125 0.0625 +0.5938 0.8125 0.09375 +0.5938 0.8125 0.125 +0.5938 0.8125 0.1562 +0.5938 0.8125 0.1875 +0.5938 0.8125 0.2188 +0.5938 0.8125 0.25 +0.5938 0.8125 0.2812 +0.5938 0.8125 0.3125 +0.5938 0.8125 0.3438 +0.5938 0.8125 0.375 +0.5938 0.8125 0.4062 +0.5938 0.8125 0.4375 +0.5938 0.8125 0.4688 +0.5938 0.8125 0.5 +0.5938 0.8125 0.5312 +0.5938 0.8125 0.5625 +0.5938 0.8125 0.5938 +0.5938 0.8125 0.625 +0.5938 0.8125 0.6562 +0.5938 0.8125 0.6875 +0.5938 0.8125 0.7188 +0.5938 0.8125 0.75 +0.5938 0.8125 0.7812 +0.5938 0.8125 0.8125 +0.5938 0.8125 0.8438 +0.5938 0.8125 0.875 +0.5938 0.8125 0.9062 +0.5938 0.8125 0.9375 +0.5938 0.8125 0.9688 +0.5938 0.8125 1 +0.5938 0.8438 0 +0.5938 0.8438 0.03125 +0.5938 0.8438 0.0625 +0.5938 0.8438 0.09375 +0.5938 0.8438 0.125 +0.5938 0.8438 0.1562 +0.5938 0.8438 0.1875 +0.5938 0.8438 0.2188 +0.5938 0.8438 0.25 +0.5938 0.8438 0.2812 +0.5938 0.8438 0.3125 +0.5938 0.8438 0.3438 +0.5938 0.8438 0.375 +0.5938 0.8438 0.4062 +0.5938 0.8438 0.4375 +0.5938 0.8438 0.4688 +0.5938 0.8438 0.5 +0.5938 0.8438 0.5312 +0.5938 0.8438 0.5625 +0.5938 0.8438 0.5938 +0.5938 0.8438 0.625 +0.5938 0.8438 0.6562 +0.5938 0.8438 0.6875 +0.5938 0.8438 0.7188 +0.5938 0.8438 0.75 +0.5938 0.8438 0.7812 +0.5938 0.8438 0.8125 +0.5938 0.8438 0.8438 +0.5938 0.8438 0.875 +0.5938 0.8438 0.9062 +0.5938 0.8438 0.9375 +0.5938 0.8438 0.9688 +0.5938 0.8438 1 +0.5938 0.875 0 +0.5938 0.875 0.03125 +0.5938 0.875 0.0625 +0.5938 0.875 0.09375 +0.5938 0.875 0.125 +0.5938 0.875 0.1562 +0.5938 0.875 0.1875 +0.5938 0.875 0.2188 +0.5938 0.875 0.25 +0.5938 0.875 0.2812 +0.5938 0.875 0.3125 +0.5938 0.875 0.3438 +0.5938 0.875 0.375 +0.5938 0.875 0.4062 +0.5938 0.875 0.4375 +0.5938 0.875 0.4688 +0.5938 0.875 0.5 +0.5938 0.875 0.5312 +0.5938 0.875 0.5625 +0.5938 0.875 0.5938 +0.5938 0.875 0.625 +0.5938 0.875 0.6562 +0.5938 0.875 0.6875 +0.5938 0.875 0.7188 +0.5938 0.875 0.75 +0.5938 0.875 0.7812 +0.5938 0.875 0.8125 +0.5938 0.875 0.8438 +0.5938 0.875 0.875 +0.5938 0.875 0.9062 +0.5938 0.875 0.9375 +0.5938 0.875 0.9688 +0.5938 0.875 1 +0.5938 0.9062 0 +0.5938 0.9062 0.03125 +0.5938 0.9062 0.0625 +0.5938 0.9062 0.09375 +0.5938 0.9062 0.125 +0.5938 0.9062 0.1562 +0.5938 0.9062 0.1875 +0.5938 0.9062 0.2188 +0.5938 0.9062 0.25 +0.5938 0.9062 0.2812 +0.5938 0.9062 0.3125 +0.5938 0.9062 0.3438 +0.5938 0.9062 0.375 +0.5938 0.9062 0.4062 +0.5938 0.9062 0.4375 +0.5938 0.9062 0.4688 +0.5938 0.9062 0.5 +0.5938 0.9062 0.5312 +0.5938 0.9062 0.5625 +0.5938 0.9062 0.5938 +0.5938 0.9062 0.625 +0.5938 0.9062 0.6562 +0.5938 0.9062 0.6875 +0.5938 0.9062 0.7188 +0.5938 0.9062 0.75 +0.5938 0.9062 0.7812 +0.5938 0.9062 0.8125 +0.5938 0.9062 0.8438 +0.5938 0.9062 0.875 +0.5938 0.9062 0.9062 +0.5938 0.9062 0.9375 +0.5938 0.9062 0.9688 +0.5938 0.9062 1 +0.5938 0.9375 0 +0.5938 0.9375 0.03125 +0.5938 0.9375 0.0625 +0.5938 0.9375 0.09375 +0.5938 0.9375 0.125 +0.5938 0.9375 0.1562 +0.5938 0.9375 0.1875 +0.5938 0.9375 0.2188 +0.5938 0.9375 0.25 +0.5938 0.9375 0.2812 +0.5938 0.9375 0.3125 +0.5938 0.9375 0.3438 +0.5938 0.9375 0.375 +0.5938 0.9375 0.4062 +0.5938 0.9375 0.4375 +0.5938 0.9375 0.4688 +0.5938 0.9375 0.5 +0.5938 0.9375 0.5312 +0.5938 0.9375 0.5625 +0.5938 0.9375 0.5938 +0.5938 0.9375 0.625 +0.5938 0.9375 0.6562 +0.5938 0.9375 0.6875 +0.5938 0.9375 0.7188 +0.5938 0.9375 0.75 +0.5938 0.9375 0.7812 +0.5938 0.9375 0.8125 +0.5938 0.9375 0.8438 +0.5938 0.9375 0.875 +0.5938 0.9375 0.9062 +0.5938 0.9375 0.9375 +0.5938 0.9375 0.9688 +0.5938 0.9375 1 +0.5938 0.9688 0 +0.5938 0.9688 0.03125 +0.5938 0.9688 0.0625 +0.5938 0.9688 0.09375 +0.5938 0.9688 0.125 +0.5938 0.9688 0.1562 +0.5938 0.9688 0.1875 +0.5938 0.9688 0.2188 +0.5938 0.9688 0.25 +0.5938 0.9688 0.2812 +0.5938 0.9688 0.3125 +0.5938 0.9688 0.3438 +0.5938 0.9688 0.375 +0.5938 0.9688 0.4062 +0.5938 0.9688 0.4375 +0.5938 0.9688 0.4688 +0.5938 0.9688 0.5 +0.5938 0.9688 0.5312 +0.5938 0.9688 0.5625 +0.5938 0.9688 0.5938 +0.5938 0.9688 0.625 +0.5938 0.9688 0.6562 +0.5938 0.9688 0.6875 +0.5938 0.9688 0.7188 +0.5938 0.9688 0.75 +0.5938 0.9688 0.7812 +0.5938 0.9688 0.8125 +0.5938 0.9688 0.8438 +0.5938 0.9688 0.875 +0.5938 0.9688 0.9062 +0.5938 0.9688 0.9375 +0.5938 0.9688 0.9688 +0.5938 0.9688 1 +0.5938 1 0 +0.5938 1 0.03125 +0.5938 1 0.0625 +0.5938 1 0.09375 +0.5938 1 0.125 +0.5938 1 0.1562 +0.5938 1 0.1875 +0.5938 1 0.2188 +0.5938 1 0.25 +0.5938 1 0.2812 +0.5938 1 0.3125 +0.5938 1 0.3438 +0.5938 1 0.375 +0.5938 1 0.4062 +0.5938 1 0.4375 +0.5938 1 0.4688 +0.5938 1 0.5 +0.5938 1 0.5312 +0.5938 1 0.5625 +0.5938 1 0.5938 +0.5938 1 0.625 +0.5938 1 0.6562 +0.5938 1 0.6875 +0.5938 1 0.7188 +0.5938 1 0.75 +0.5938 1 0.7812 +0.5938 1 0.8125 +0.5938 1 0.8438 +0.5938 1 0.875 +0.5938 1 0.9062 +0.5938 1 0.9375 +0.5938 1 0.9688 +0.5938 1 1 +0.625 0 0 +0.625 0 0.03125 +0.625 0 0.0625 +0.625 0 0.09375 +0.625 0 0.125 +0.625 0 0.1562 +0.625 0 0.1875 +0.625 0 0.2188 +0.625 0 0.25 +0.625 0 0.2812 +0.625 0 0.3125 +0.625 0 0.3438 +0.625 0 0.375 +0.625 0 0.4062 +0.625 0 0.4375 +0.625 0 0.4688 +0.625 0 0.5 +0.625 0 0.5312 +0.625 0 0.5625 +0.625 0 0.5938 +0.625 0 0.625 +0.625 0 0.6562 +0.625 0 0.6875 +0.625 0 0.7188 +0.625 0 0.75 +0.625 0 0.7812 +0.625 0 0.8125 +0.625 0 0.8438 +0.625 0 0.875 +0.625 0 0.9062 +0.625 0 0.9375 +0.625 0 0.9688 +0.625 0 1 +0.625 0.03125 0 +0.625 0.03125 0.03125 +0.625 0.03125 0.0625 +0.625 0.03125 0.09375 +0.625 0.03125 0.125 +0.625 0.03125 0.1562 +0.625 0.03125 0.1875 +0.625 0.03125 0.2188 +0.625 0.03125 0.25 +0.625 0.03125 0.2812 +0.625 0.03125 0.3125 +0.625 0.03125 0.3438 +0.625 0.03125 0.375 +0.625 0.03125 0.4062 +0.625 0.03125 0.4375 +0.625 0.03125 0.4688 +0.625 0.03125 0.5 +0.625 0.03125 0.5312 +0.625 0.03125 0.5625 +0.625 0.03125 0.5938 +0.625 0.03125 0.625 +0.625 0.03125 0.6562 +0.625 0.03125 0.6875 +0.625 0.03125 0.7188 +0.625 0.03125 0.75 +0.625 0.03125 0.7812 +0.625 0.03125 0.8125 +0.625 0.03125 0.8438 +0.625 0.03125 0.875 +0.625 0.03125 0.9062 +0.625 0.03125 0.9375 +0.625 0.03125 0.9688 +0.625 0.03125 1 +0.625 0.0625 0 +0.625 0.0625 0.03125 +0.625 0.0625 0.0625 +0.625 0.0625 0.09375 +0.625 0.0625 0.125 +0.625 0.0625 0.1562 +0.625 0.0625 0.1875 +0.625 0.0625 0.2188 +0.625 0.0625 0.25 +0.625 0.0625 0.2812 +0.625 0.0625 0.3125 +0.625 0.0625 0.3438 +0.625 0.0625 0.375 +0.625 0.0625 0.4062 +0.625 0.0625 0.4375 +0.625 0.0625 0.4688 +0.625 0.0625 0.5 +0.625 0.0625 0.5312 +0.625 0.0625 0.5625 +0.625 0.0625 0.5938 +0.625 0.0625 0.625 +0.625 0.0625 0.6562 +0.625 0.0625 0.6875 +0.625 0.0625 0.7188 +0.625 0.0625 0.75 +0.625 0.0625 0.7812 +0.625 0.0625 0.8125 +0.625 0.0625 0.8438 +0.625 0.0625 0.875 +0.625 0.0625 0.9062 +0.625 0.0625 0.9375 +0.625 0.0625 0.9688 +0.625 0.0625 1 +0.625 0.09375 0 +0.625 0.09375 0.03125 +0.625 0.09375 0.0625 +0.625 0.09375 0.09375 +0.625 0.09375 0.125 +0.625 0.09375 0.1562 +0.625 0.09375 0.1875 +0.625 0.09375 0.2188 +0.625 0.09375 0.25 +0.625 0.09375 0.2812 +0.625 0.09375 0.3125 +0.625 0.09375 0.3438 +0.625 0.09375 0.375 +0.625 0.09375 0.4062 +0.625 0.09375 0.4375 +0.625 0.09375 0.4688 +0.625 0.09375 0.5 +0.625 0.09375 0.5312 +0.625 0.09375 0.5625 +0.625 0.09375 0.5938 +0.625 0.09375 0.625 +0.625 0.09375 0.6562 +0.625 0.09375 0.6875 +0.625 0.09375 0.7188 +0.625 0.09375 0.75 +0.625 0.09375 0.7812 +0.625 0.09375 0.8125 +0.625 0.09375 0.8438 +0.625 0.09375 0.875 +0.625 0.09375 0.9062 +0.625 0.09375 0.9375 +0.625 0.09375 0.9688 +0.625 0.09375 1 +0.625 0.125 0 +0.625 0.125 0.03125 +0.625 0.125 0.0625 +0.625 0.125 0.09375 +0.625 0.125 0.125 +0.625 0.125 0.1562 +0.625 0.125 0.1875 +0.625 0.125 0.2188 +0.625 0.125 0.25 +0.625 0.125 0.2812 +0.625 0.125 0.3125 +0.625 0.125 0.3438 +0.625 0.125 0.375 +0.625 0.125 0.4062 +0.625 0.125 0.4375 +0.625 0.125 0.4688 +0.625 0.125 0.5 +0.625 0.125 0.5312 +0.625 0.125 0.5625 +0.625 0.125 0.5938 +0.625 0.125 0.625 +0.625 0.125 0.6562 +0.625 0.125 0.6875 +0.625 0.125 0.7188 +0.625 0.125 0.75 +0.625 0.125 0.7812 +0.625 0.125 0.8125 +0.625 0.125 0.8438 +0.625 0.125 0.875 +0.625 0.125 0.9062 +0.625 0.125 0.9375 +0.625 0.125 0.9688 +0.625 0.125 1 +0.625 0.1562 0 +0.625 0.1562 0.03125 +0.625 0.1562 0.0625 +0.625 0.1562 0.09375 +0.625 0.1562 0.125 +0.625 0.1562 0.1562 +0.625 0.1562 0.1875 +0.625 0.1562 0.2188 +0.625 0.1562 0.25 +0.625 0.1562 0.2812 +0.625 0.1562 0.3125 +0.625 0.1562 0.3438 +0.625 0.1562 0.375 +0.625 0.1562 0.4062 +0.625 0.1562 0.4375 +0.625 0.1562 0.4688 +0.625 0.1562 0.5 +0.625 0.1562 0.5312 +0.625 0.1562 0.5625 +0.625 0.1562 0.5938 +0.625 0.1562 0.625 +0.625 0.1562 0.6562 +0.625 0.1562 0.6875 +0.625 0.1562 0.7188 +0.625 0.1562 0.75 +0.625 0.1562 0.7812 +0.625 0.1562 0.8125 +0.625 0.1562 0.8438 +0.625 0.1562 0.875 +0.625 0.1562 0.9062 +0.625 0.1562 0.9375 +0.625 0.1562 0.9688 +0.625 0.1562 1 +0.625 0.1875 0 +0.625 0.1875 0.03125 +0.625 0.1875 0.0625 +0.625 0.1875 0.09375 +0.625 0.1875 0.125 +0.625 0.1875 0.1562 +0.625 0.1875 0.1875 +0.625 0.1875 0.2188 +0.625 0.1875 0.25 +0.625 0.1875 0.2812 +0.625 0.1875 0.3125 +0.625 0.1875 0.3438 +0.625 0.1875 0.375 +0.625 0.1875 0.4062 +0.625 0.1875 0.4375 +0.625 0.1875 0.4688 +0.625 0.1875 0.5 +0.625 0.1875 0.5312 +0.625 0.1875 0.5625 +0.625 0.1875 0.5938 +0.625 0.1875 0.625 +0.625 0.1875 0.6562 +0.625 0.1875 0.6875 +0.625 0.1875 0.7188 +0.625 0.1875 0.75 +0.625 0.1875 0.7812 +0.625 0.1875 0.8125 +0.625 0.1875 0.8438 +0.625 0.1875 0.875 +0.625 0.1875 0.9062 +0.625 0.1875 0.9375 +0.625 0.1875 0.9688 +0.625 0.1875 1 +0.625 0.2188 0 +0.625 0.2188 0.03125 +0.625 0.2188 0.0625 +0.625 0.2188 0.09375 +0.625 0.2188 0.125 +0.625 0.2188 0.1562 +0.625 0.2188 0.1875 +0.625 0.2188 0.2188 +0.625 0.2188 0.25 +0.625 0.2188 0.2812 +0.625 0.2188 0.3125 +0.625 0.2188 0.3438 +0.625 0.2188 0.375 +0.625 0.2188 0.4062 +0.625 0.2188 0.4375 +0.625 0.2188 0.4688 +0.625 0.2188 0.5 +0.625 0.2188 0.5312 +0.625 0.2188 0.5625 +0.625 0.2188 0.5938 +0.625 0.2188 0.625 +0.625 0.2188 0.6562 +0.625 0.2188 0.6875 +0.625 0.2188 0.7188 +0.625 0.2188 0.75 +0.625 0.2188 0.7812 +0.625 0.2188 0.8125 +0.625 0.2188 0.8438 +0.625 0.2188 0.875 +0.625 0.2188 0.9062 +0.625 0.2188 0.9375 +0.625 0.2188 0.9688 +0.625 0.2188 1 +0.625 0.25 0 +0.625 0.25 0.03125 +0.625 0.25 0.0625 +0.625 0.25 0.09375 +0.625 0.25 0.125 +0.625 0.25 0.1562 +0.625 0.25 0.1875 +0.625 0.25 0.2188 +0.625 0.25 0.25 +0.625 0.25 0.2812 +0.625 0.25 0.3125 +0.625 0.25 0.3438 +0.625 0.25 0.375 +0.625 0.25 0.4062 +0.625 0.25 0.4375 +0.625 0.25 0.4688 +0.625 0.25 0.5 +0.625 0.25 0.5312 +0.625 0.25 0.5625 +0.625 0.25 0.5938 +0.625 0.25 0.625 +0.625 0.25 0.6562 +0.625 0.25 0.6875 +0.625 0.25 0.7188 +0.625 0.25 0.75 +0.625 0.25 0.7812 +0.625 0.25 0.8125 +0.625 0.25 0.8438 +0.625 0.25 0.875 +0.625 0.25 0.9062 +0.625 0.25 0.9375 +0.625 0.25 0.9688 +0.625 0.25 1 +0.625 0.2812 0 +0.625 0.2812 0.03125 +0.625 0.2812 0.0625 +0.625 0.2812 0.09375 +0.625 0.2812 0.125 +0.625 0.2812 0.1562 +0.625 0.2812 0.1875 +0.625 0.2812 0.2188 +0.625 0.2812 0.25 +0.625 0.2812 0.2812 +0.625 0.2812 0.3125 +0.625 0.2812 0.3438 +0.625 0.2812 0.375 +0.625 0.2812 0.4062 +0.625 0.2812 0.4375 +0.625 0.2812 0.4688 +0.625 0.2812 0.5 +0.625 0.2812 0.5312 +0.625 0.2812 0.5625 +0.625 0.2812 0.5938 +0.625 0.2812 0.625 +0.625 0.2812 0.6562 +0.625 0.2812 0.6875 +0.625 0.2812 0.7188 +0.625 0.2812 0.75 +0.625 0.2812 0.7812 +0.625 0.2812 0.8125 +0.625 0.2812 0.8438 +0.625 0.2812 0.875 +0.625 0.2812 0.9062 +0.625 0.2812 0.9375 +0.625 0.2812 0.9688 +0.625 0.2812 1 +0.625 0.3125 0 +0.625 0.3125 0.03125 +0.625 0.3125 0.0625 +0.625 0.3125 0.09375 +0.625 0.3125 0.125 +0.625 0.3125 0.1562 +0.625 0.3125 0.1875 +0.625 0.3125 0.2188 +0.625 0.3125 0.25 +0.625 0.3125 0.2812 +0.625 0.3125 0.3125 +0.625 0.3125 0.3438 +0.625 0.3125 0.375 +0.625 0.3125 0.4062 +0.625 0.3125 0.4375 +0.625 0.3125 0.4688 +0.625 0.3125 0.5 +0.625 0.3125 0.5312 +0.625 0.3125 0.5625 +0.625 0.3125 0.5938 +0.625 0.3125 0.625 +0.625 0.3125 0.6562 +0.625 0.3125 0.6875 +0.625 0.3125 0.7188 +0.625 0.3125 0.75 +0.625 0.3125 0.7812 +0.625 0.3125 0.8125 +0.625 0.3125 0.8438 +0.625 0.3125 0.875 +0.625 0.3125 0.9062 +0.625 0.3125 0.9375 +0.625 0.3125 0.9688 +0.625 0.3125 1 +0.625 0.3438 0 +0.625 0.3438 0.03125 +0.625 0.3438 0.0625 +0.625 0.3438 0.09375 +0.625 0.3438 0.125 +0.625 0.3438 0.1562 +0.625 0.3438 0.1875 +0.625 0.3438 0.2188 +0.625 0.3438 0.25 +0.625 0.3438 0.2812 +0.625 0.3438 0.3125 +0.625 0.3438 0.3438 +0.625 0.3438 0.375 +0.625 0.3438 0.4062 +0.625 0.3438 0.4375 +0.625 0.3438 0.4688 +0.625 0.3438 0.5 +0.625 0.3438 0.5312 +0.625 0.3438 0.5625 +0.625 0.3438 0.5938 +0.625 0.3438 0.625 +0.625 0.3438 0.6562 +0.625 0.3438 0.6875 +0.625 0.3438 0.7188 +0.625 0.3438 0.75 +0.625 0.3438 0.7812 +0.625 0.3438 0.8125 +0.625 0.3438 0.8438 +0.625 0.3438 0.875 +0.625 0.3438 0.9062 +0.625 0.3438 0.9375 +0.625 0.3438 0.9688 +0.625 0.3438 1 +0.625 0.375 0 +0.625 0.375 0.03125 +0.625 0.375 0.0625 +0.625 0.375 0.09375 +0.625 0.375 0.125 +0.625 0.375 0.1562 +0.625 0.375 0.1875 +0.625 0.375 0.2188 +0.625 0.375 0.25 +0.625 0.375 0.2812 +0.625 0.375 0.3125 +0.625 0.375 0.3438 +0.625 0.375 0.375 +0.625 0.375 0.4062 +0.625 0.375 0.4375 +0.625 0.375 0.4688 +0.625 0.375 0.5 +0.625 0.375 0.5312 +0.625 0.375 0.5625 +0.625 0.375 0.5938 +0.625 0.375 0.625 +0.625 0.375 0.6562 +0.625 0.375 0.6875 +0.625 0.375 0.7188 +0.625 0.375 0.75 +0.625 0.375 0.7812 +0.625 0.375 0.8125 +0.625 0.375 0.8438 +0.625 0.375 0.875 +0.625 0.375 0.9062 +0.625 0.375 0.9375 +0.625 0.375 0.9688 +0.625 0.375 1 +0.625 0.4062 0 +0.625 0.4062 0.03125 +0.625 0.4062 0.0625 +0.625 0.4062 0.09375 +0.625 0.4062 0.125 +0.625 0.4062 0.1562 +0.625 0.4062 0.1875 +0.625 0.4062 0.2188 +0.625 0.4062 0.25 +0.625 0.4062 0.2812 +0.625 0.4062 0.3125 +0.625 0.4062 0.3438 +0.625 0.4062 0.375 +0.625 0.4062 0.4062 +0.625 0.4062 0.4375 +0.625 0.4062 0.4688 +0.625 0.4062 0.5 +0.625 0.4062 0.5312 +0.625 0.4062 0.5625 +0.625 0.4062 0.5938 +0.625 0.4062 0.625 +0.625 0.4062 0.6562 +0.625 0.4062 0.6875 +0.625 0.4062 0.7188 +0.625 0.4062 0.75 +0.625 0.4062 0.7812 +0.625 0.4062 0.8125 +0.625 0.4062 0.8438 +0.625 0.4062 0.875 +0.625 0.4062 0.9062 +0.625 0.4062 0.9375 +0.625 0.4062 0.9688 +0.625 0.4062 1 +0.625 0.4375 0 +0.625 0.4375 0.03125 +0.625 0.4375 0.0625 +0.625 0.4375 0.09375 +0.625 0.4375 0.125 +0.625 0.4375 0.1562 +0.625 0.4375 0.1875 +0.625 0.4375 0.2188 +0.625 0.4375 0.25 +0.625 0.4375 0.2812 +0.625 0.4375 0.3125 +0.625 0.4375 0.3438 +0.625 0.4375 0.375 +0.625 0.4375 0.4062 +0.625 0.4375 0.4375 +0.625 0.4375 0.4688 +0.625 0.4375 0.5 +0.625 0.4375 0.5312 +0.625 0.4375 0.5625 +0.625 0.4375 0.5938 +0.625 0.4375 0.625 +0.625 0.4375 0.6562 +0.625 0.4375 0.6875 +0.625 0.4375 0.7188 +0.625 0.4375 0.75 +0.625 0.4375 0.7812 +0.625 0.4375 0.8125 +0.625 0.4375 0.8438 +0.625 0.4375 0.875 +0.625 0.4375 0.9062 +0.625 0.4375 0.9375 +0.625 0.4375 0.9688 +0.625 0.4375 1 +0.625 0.4688 0 +0.625 0.4688 0.03125 +0.625 0.4688 0.0625 +0.625 0.4688 0.09375 +0.625 0.4688 0.125 +0.625 0.4688 0.1562 +0.625 0.4688 0.1875 +0.625 0.4688 0.2188 +0.625 0.4688 0.25 +0.625 0.4688 0.2812 +0.625 0.4688 0.3125 +0.625 0.4688 0.3438 +0.625 0.4688 0.375 +0.625 0.4688 0.4062 +0.625 0.4688 0.4375 +0.625 0.4688 0.4688 +0.625 0.4688 0.5 +0.625 0.4688 0.5312 +0.625 0.4688 0.5625 +0.625 0.4688 0.5938 +0.625 0.4688 0.625 +0.625 0.4688 0.6562 +0.625 0.4688 0.6875 +0.625 0.4688 0.7188 +0.625 0.4688 0.75 +0.625 0.4688 0.7812 +0.625 0.4688 0.8125 +0.625 0.4688 0.8438 +0.625 0.4688 0.875 +0.625 0.4688 0.9062 +0.625 0.4688 0.9375 +0.625 0.4688 0.9688 +0.625 0.4688 1 +0.625 0.5 0 +0.625 0.5 0.03125 +0.625 0.5 0.0625 +0.625 0.5 0.09375 +0.625 0.5 0.125 +0.625 0.5 0.1562 +0.625 0.5 0.1875 +0.625 0.5 0.2188 +0.625 0.5 0.25 +0.625 0.5 0.2812 +0.625 0.5 0.3125 +0.625 0.5 0.3438 +0.625 0.5 0.375 +0.625 0.5 0.4062 +0.625 0.5 0.4375 +0.625 0.5 0.4688 +0.625 0.5 0.5 +0.625 0.5 0.5312 +0.625 0.5 0.5625 +0.625 0.5 0.5938 +0.625 0.5 0.625 +0.625 0.5 0.6562 +0.625 0.5 0.6875 +0.625 0.5 0.7188 +0.625 0.5 0.75 +0.625 0.5 0.7812 +0.625 0.5 0.8125 +0.625 0.5 0.8438 +0.625 0.5 0.875 +0.625 0.5 0.9062 +0.625 0.5 0.9375 +0.625 0.5 0.9688 +0.625 0.5 1 +0.625 0.5312 0 +0.625 0.5312 0.03125 +0.625 0.5312 0.0625 +0.625 0.5312 0.09375 +0.625 0.5312 0.125 +0.625 0.5312 0.1562 +0.625 0.5312 0.1875 +0.625 0.5312 0.2188 +0.625 0.5312 0.25 +0.625 0.5312 0.2812 +0.625 0.5312 0.3125 +0.625 0.5312 0.3438 +0.625 0.5312 0.375 +0.625 0.5312 0.4062 +0.625 0.5312 0.4375 +0.625 0.5312 0.4688 +0.625 0.5312 0.5 +0.625 0.5312 0.5312 +0.625 0.5312 0.5625 +0.625 0.5312 0.5938 +0.625 0.5312 0.625 +0.625 0.5312 0.6562 +0.625 0.5312 0.6875 +0.625 0.5312 0.7188 +0.625 0.5312 0.75 +0.625 0.5312 0.7812 +0.625 0.5312 0.8125 +0.625 0.5312 0.8438 +0.625 0.5312 0.875 +0.625 0.5312 0.9062 +0.625 0.5312 0.9375 +0.625 0.5312 0.9688 +0.625 0.5312 1 +0.625 0.5625 0 +0.625 0.5625 0.03125 +0.625 0.5625 0.0625 +0.625 0.5625 0.09375 +0.625 0.5625 0.125 +0.625 0.5625 0.1562 +0.625 0.5625 0.1875 +0.625 0.5625 0.2188 +0.625 0.5625 0.25 +0.625 0.5625 0.2812 +0.625 0.5625 0.3125 +0.625 0.5625 0.3438 +0.625 0.5625 0.375 +0.625 0.5625 0.4062 +0.625 0.5625 0.4375 +0.625 0.5625 0.4688 +0.625 0.5625 0.5 +0.625 0.5625 0.5312 +0.625 0.5625 0.5625 +0.625 0.5625 0.5938 +0.625 0.5625 0.625 +0.625 0.5625 0.6562 +0.625 0.5625 0.6875 +0.625 0.5625 0.7188 +0.625 0.5625 0.75 +0.625 0.5625 0.7812 +0.625 0.5625 0.8125 +0.625 0.5625 0.8438 +0.625 0.5625 0.875 +0.625 0.5625 0.9062 +0.625 0.5625 0.9375 +0.625 0.5625 0.9688 +0.625 0.5625 1 +0.625 0.5938 0 +0.625 0.5938 0.03125 +0.625 0.5938 0.0625 +0.625 0.5938 0.09375 +0.625 0.5938 0.125 +0.625 0.5938 0.1562 +0.625 0.5938 0.1875 +0.625 0.5938 0.2188 +0.625 0.5938 0.25 +0.625 0.5938 0.2812 +0.625 0.5938 0.3125 +0.625 0.5938 0.3438 +0.625 0.5938 0.375 +0.625 0.5938 0.4062 +0.625 0.5938 0.4375 +0.625 0.5938 0.4688 +0.625 0.5938 0.5 +0.625 0.5938 0.5312 +0.625 0.5938 0.5625 +0.625 0.5938 0.5938 +0.625 0.5938 0.625 +0.625 0.5938 0.6562 +0.625 0.5938 0.6875 +0.625 0.5938 0.7188 +0.625 0.5938 0.75 +0.625 0.5938 0.7812 +0.625 0.5938 0.8125 +0.625 0.5938 0.8438 +0.625 0.5938 0.875 +0.625 0.5938 0.9062 +0.625 0.5938 0.9375 +0.625 0.5938 0.9688 +0.625 0.5938 1 +0.625 0.625 0 +0.625 0.625 0.03125 +0.625 0.625 0.0625 +0.625 0.625 0.09375 +0.625 0.625 0.125 +0.625 0.625 0.1562 +0.625 0.625 0.1875 +0.625 0.625 0.2188 +0.625 0.625 0.25 +0.625 0.625 0.2812 +0.625 0.625 0.3125 +0.625 0.625 0.3438 +0.625 0.625 0.375 +0.625 0.625 0.4062 +0.625 0.625 0.4375 +0.625 0.625 0.4688 +0.625 0.625 0.5 +0.625 0.625 0.5312 +0.625 0.625 0.5625 +0.625 0.625 0.5938 +0.625 0.625 0.625 +0.625 0.625 0.6562 +0.625 0.625 0.6875 +0.625 0.625 0.7188 +0.625 0.625 0.75 +0.625 0.625 0.7812 +0.625 0.625 0.8125 +0.625 0.625 0.8438 +0.625 0.625 0.875 +0.625 0.625 0.9062 +0.625 0.625 0.9375 +0.625 0.625 0.9688 +0.625 0.625 1 +0.625 0.6562 0 +0.625 0.6562 0.03125 +0.625 0.6562 0.0625 +0.625 0.6562 0.09375 +0.625 0.6562 0.125 +0.625 0.6562 0.1562 +0.625 0.6562 0.1875 +0.625 0.6562 0.2188 +0.625 0.6562 0.25 +0.625 0.6562 0.2812 +0.625 0.6562 0.3125 +0.625 0.6562 0.3438 +0.625 0.6562 0.375 +0.625 0.6562 0.4062 +0.625 0.6562 0.4375 +0.625 0.6562 0.4688 +0.625 0.6562 0.5 +0.625 0.6562 0.5312 +0.625 0.6562 0.5625 +0.625 0.6562 0.5938 +0.625 0.6562 0.625 +0.625 0.6562 0.6562 +0.625 0.6562 0.6875 +0.625 0.6562 0.7188 +0.625 0.6562 0.75 +0.625 0.6562 0.7812 +0.625 0.6562 0.8125 +0.625 0.6562 0.8438 +0.625 0.6562 0.875 +0.625 0.6562 0.9062 +0.625 0.6562 0.9375 +0.625 0.6562 0.9688 +0.625 0.6562 1 +0.625 0.6875 0 +0.625 0.6875 0.03125 +0.625 0.6875 0.0625 +0.625 0.6875 0.09375 +0.625 0.6875 0.125 +0.625 0.6875 0.1562 +0.625 0.6875 0.1875 +0.625 0.6875 0.2188 +0.625 0.6875 0.25 +0.625 0.6875 0.2812 +0.625 0.6875 0.3125 +0.625 0.6875 0.3438 +0.625 0.6875 0.375 +0.625 0.6875 0.4062 +0.625 0.6875 0.4375 +0.625 0.6875 0.4688 +0.625 0.6875 0.5 +0.625 0.6875 0.5312 +0.625 0.6875 0.5625 +0.625 0.6875 0.5938 +0.625 0.6875 0.625 +0.625 0.6875 0.6562 +0.625 0.6875 0.6875 +0.625 0.6875 0.7188 +0.625 0.6875 0.75 +0.625 0.6875 0.7812 +0.625 0.6875 0.8125 +0.625 0.6875 0.8438 +0.625 0.6875 0.875 +0.625 0.6875 0.9062 +0.625 0.6875 0.9375 +0.625 0.6875 0.9688 +0.625 0.6875 1 +0.625 0.7188 0 +0.625 0.7188 0.03125 +0.625 0.7188 0.0625 +0.625 0.7188 0.09375 +0.625 0.7188 0.125 +0.625 0.7188 0.1562 +0.625 0.7188 0.1875 +0.625 0.7188 0.2188 +0.625 0.7188 0.25 +0.625 0.7188 0.2812 +0.625 0.7188 0.3125 +0.625 0.7188 0.3438 +0.625 0.7188 0.375 +0.625 0.7188 0.4062 +0.625 0.7188 0.4375 +0.625 0.7188 0.4688 +0.625 0.7188 0.5 +0.625 0.7188 0.5312 +0.625 0.7188 0.5625 +0.625 0.7188 0.5938 +0.625 0.7188 0.625 +0.625 0.7188 0.6562 +0.625 0.7188 0.6875 +0.625 0.7188 0.7188 +0.625 0.7188 0.75 +0.625 0.7188 0.7812 +0.625 0.7188 0.8125 +0.625 0.7188 0.8438 +0.625 0.7188 0.875 +0.625 0.7188 0.9062 +0.625 0.7188 0.9375 +0.625 0.7188 0.9688 +0.625 0.7188 1 +0.625 0.75 0 +0.625 0.75 0.03125 +0.625 0.75 0.0625 +0.625 0.75 0.09375 +0.625 0.75 0.125 +0.625 0.75 0.1562 +0.625 0.75 0.1875 +0.625 0.75 0.2188 +0.625 0.75 0.25 +0.625 0.75 0.2812 +0.625 0.75 0.3125 +0.625 0.75 0.3438 +0.625 0.75 0.375 +0.625 0.75 0.4062 +0.625 0.75 0.4375 +0.625 0.75 0.4688 +0.625 0.75 0.5 +0.625 0.75 0.5312 +0.625 0.75 0.5625 +0.625 0.75 0.5938 +0.625 0.75 0.625 +0.625 0.75 0.6562 +0.625 0.75 0.6875 +0.625 0.75 0.7188 +0.625 0.75 0.75 +0.625 0.75 0.7812 +0.625 0.75 0.8125 +0.625 0.75 0.8438 +0.625 0.75 0.875 +0.625 0.75 0.9062 +0.625 0.75 0.9375 +0.625 0.75 0.9688 +0.625 0.75 1 +0.625 0.7812 0 +0.625 0.7812 0.03125 +0.625 0.7812 0.0625 +0.625 0.7812 0.09375 +0.625 0.7812 0.125 +0.625 0.7812 0.1562 +0.625 0.7812 0.1875 +0.625 0.7812 0.2188 +0.625 0.7812 0.25 +0.625 0.7812 0.2812 +0.625 0.7812 0.3125 +0.625 0.7812 0.3438 +0.625 0.7812 0.375 +0.625 0.7812 0.4062 +0.625 0.7812 0.4375 +0.625 0.7812 0.4688 +0.625 0.7812 0.5 +0.625 0.7812 0.5312 +0.625 0.7812 0.5625 +0.625 0.7812 0.5938 +0.625 0.7812 0.625 +0.625 0.7812 0.6562 +0.625 0.7812 0.6875 +0.625 0.7812 0.7188 +0.625 0.7812 0.75 +0.625 0.7812 0.7812 +0.625 0.7812 0.8125 +0.625 0.7812 0.8438 +0.625 0.7812 0.875 +0.625 0.7812 0.9062 +0.625 0.7812 0.9375 +0.625 0.7812 0.9688 +0.625 0.7812 1 +0.625 0.8125 0 +0.625 0.8125 0.03125 +0.625 0.8125 0.0625 +0.625 0.8125 0.09375 +0.625 0.8125 0.125 +0.625 0.8125 0.1562 +0.625 0.8125 0.1875 +0.625 0.8125 0.2188 +0.625 0.8125 0.25 +0.625 0.8125 0.2812 +0.625 0.8125 0.3125 +0.625 0.8125 0.3438 +0.625 0.8125 0.375 +0.625 0.8125 0.4062 +0.625 0.8125 0.4375 +0.625 0.8125 0.4688 +0.625 0.8125 0.5 +0.625 0.8125 0.5312 +0.625 0.8125 0.5625 +0.625 0.8125 0.5938 +0.625 0.8125 0.625 +0.625 0.8125 0.6562 +0.625 0.8125 0.6875 +0.625 0.8125 0.7188 +0.625 0.8125 0.75 +0.625 0.8125 0.7812 +0.625 0.8125 0.8125 +0.625 0.8125 0.8438 +0.625 0.8125 0.875 +0.625 0.8125 0.9062 +0.625 0.8125 0.9375 +0.625 0.8125 0.9688 +0.625 0.8125 1 +0.625 0.8438 0 +0.625 0.8438 0.03125 +0.625 0.8438 0.0625 +0.625 0.8438 0.09375 +0.625 0.8438 0.125 +0.625 0.8438 0.1562 +0.625 0.8438 0.1875 +0.625 0.8438 0.2188 +0.625 0.8438 0.25 +0.625 0.8438 0.2812 +0.625 0.8438 0.3125 +0.625 0.8438 0.3438 +0.625 0.8438 0.375 +0.625 0.8438 0.4062 +0.625 0.8438 0.4375 +0.625 0.8438 0.4688 +0.625 0.8438 0.5 +0.625 0.8438 0.5312 +0.625 0.8438 0.5625 +0.625 0.8438 0.5938 +0.625 0.8438 0.625 +0.625 0.8438 0.6562 +0.625 0.8438 0.6875 +0.625 0.8438 0.7188 +0.625 0.8438 0.75 +0.625 0.8438 0.7812 +0.625 0.8438 0.8125 +0.625 0.8438 0.8438 +0.625 0.8438 0.875 +0.625 0.8438 0.9062 +0.625 0.8438 0.9375 +0.625 0.8438 0.9688 +0.625 0.8438 1 +0.625 0.875 0 +0.625 0.875 0.03125 +0.625 0.875 0.0625 +0.625 0.875 0.09375 +0.625 0.875 0.125 +0.625 0.875 0.1562 +0.625 0.875 0.1875 +0.625 0.875 0.2188 +0.625 0.875 0.25 +0.625 0.875 0.2812 +0.625 0.875 0.3125 +0.625 0.875 0.3438 +0.625 0.875 0.375 +0.625 0.875 0.4062 +0.625 0.875 0.4375 +0.625 0.875 0.4688 +0.625 0.875 0.5 +0.625 0.875 0.5312 +0.625 0.875 0.5625 +0.625 0.875 0.5938 +0.625 0.875 0.625 +0.625 0.875 0.6562 +0.625 0.875 0.6875 +0.625 0.875 0.7188 +0.625 0.875 0.75 +0.625 0.875 0.7812 +0.625 0.875 0.8125 +0.625 0.875 0.8438 +0.625 0.875 0.875 +0.625 0.875 0.9062 +0.625 0.875 0.9375 +0.625 0.875 0.9688 +0.625 0.875 1 +0.625 0.9062 0 +0.625 0.9062 0.03125 +0.625 0.9062 0.0625 +0.625 0.9062 0.09375 +0.625 0.9062 0.125 +0.625 0.9062 0.1562 +0.625 0.9062 0.1875 +0.625 0.9062 0.2188 +0.625 0.9062 0.25 +0.625 0.9062 0.2812 +0.625 0.9062 0.3125 +0.625 0.9062 0.3438 +0.625 0.9062 0.375 +0.625 0.9062 0.4062 +0.625 0.9062 0.4375 +0.625 0.9062 0.4688 +0.625 0.9062 0.5 +0.625 0.9062 0.5312 +0.625 0.9062 0.5625 +0.625 0.9062 0.5938 +0.625 0.9062 0.625 +0.625 0.9062 0.6562 +0.625 0.9062 0.6875 +0.625 0.9062 0.7188 +0.625 0.9062 0.75 +0.625 0.9062 0.7812 +0.625 0.9062 0.8125 +0.625 0.9062 0.8438 +0.625 0.9062 0.875 +0.625 0.9062 0.9062 +0.625 0.9062 0.9375 +0.625 0.9062 0.9688 +0.625 0.9062 1 +0.625 0.9375 0 +0.625 0.9375 0.03125 +0.625 0.9375 0.0625 +0.625 0.9375 0.09375 +0.625 0.9375 0.125 +0.625 0.9375 0.1562 +0.625 0.9375 0.1875 +0.625 0.9375 0.2188 +0.625 0.9375 0.25 +0.625 0.9375 0.2812 +0.625 0.9375 0.3125 +0.625 0.9375 0.3438 +0.625 0.9375 0.375 +0.625 0.9375 0.4062 +0.625 0.9375 0.4375 +0.625 0.9375 0.4688 +0.625 0.9375 0.5 +0.625 0.9375 0.5312 +0.625 0.9375 0.5625 +0.625 0.9375 0.5938 +0.625 0.9375 0.625 +0.625 0.9375 0.6562 +0.625 0.9375 0.6875 +0.625 0.9375 0.7188 +0.625 0.9375 0.75 +0.625 0.9375 0.7812 +0.625 0.9375 0.8125 +0.625 0.9375 0.8438 +0.625 0.9375 0.875 +0.625 0.9375 0.9062 +0.625 0.9375 0.9375 +0.625 0.9375 0.9688 +0.625 0.9375 1 +0.625 0.9688 0 +0.625 0.9688 0.03125 +0.625 0.9688 0.0625 +0.625 0.9688 0.09375 +0.625 0.9688 0.125 +0.625 0.9688 0.1562 +0.625 0.9688 0.1875 +0.625 0.9688 0.2188 +0.625 0.9688 0.25 +0.625 0.9688 0.2812 +0.625 0.9688 0.3125 +0.625 0.9688 0.3438 +0.625 0.9688 0.375 +0.625 0.9688 0.4062 +0.625 0.9688 0.4375 +0.625 0.9688 0.4688 +0.625 0.9688 0.5 +0.625 0.9688 0.5312 +0.625 0.9688 0.5625 +0.625 0.9688 0.5938 +0.625 0.9688 0.625 +0.625 0.9688 0.6562 +0.625 0.9688 0.6875 +0.625 0.9688 0.7188 +0.625 0.9688 0.75 +0.625 0.9688 0.7812 +0.625 0.9688 0.8125 +0.625 0.9688 0.8438 +0.625 0.9688 0.875 +0.625 0.9688 0.9062 +0.625 0.9688 0.9375 +0.625 0.9688 0.9688 +0.625 0.9688 1 +0.625 1 0 +0.625 1 0.03125 +0.625 1 0.0625 +0.625 1 0.09375 +0.625 1 0.125 +0.625 1 0.1562 +0.625 1 0.1875 +0.625 1 0.2188 +0.625 1 0.25 +0.625 1 0.2812 +0.625 1 0.3125 +0.625 1 0.3438 +0.625 1 0.375 +0.625 1 0.4062 +0.625 1 0.4375 +0.625 1 0.4688 +0.625 1 0.5 +0.625 1 0.5312 +0.625 1 0.5625 +0.625 1 0.5938 +0.625 1 0.625 +0.625 1 0.6562 +0.625 1 0.6875 +0.625 1 0.7188 +0.625 1 0.75 +0.625 1 0.7812 +0.625 1 0.8125 +0.625 1 0.8438 +0.625 1 0.875 +0.625 1 0.9062 +0.625 1 0.9375 +0.625 1 0.9688 +0.625 1 1 +0.6562 0 0 +0.6562 0 0.03125 +0.6562 0 0.0625 +0.6562 0 0.09375 +0.6562 0 0.125 +0.6562 0 0.1562 +0.6562 0 0.1875 +0.6562 0 0.2188 +0.6562 0 0.25 +0.6562 0 0.2812 +0.6562 0 0.3125 +0.6562 0 0.3438 +0.6562 0 0.375 +0.6562 0 0.4062 +0.6562 0 0.4375 +0.6562 0 0.4688 +0.6562 0 0.5 +0.6562 0 0.5312 +0.6562 0 0.5625 +0.6562 0 0.5938 +0.6562 0 0.625 +0.6562 0 0.6562 +0.6562 0 0.6875 +0.6562 0 0.7188 +0.6562 0 0.75 +0.6562 0 0.7812 +0.6562 0 0.8125 +0.6562 0 0.8438 +0.6562 0 0.875 +0.6562 0 0.9062 +0.6562 0 0.9375 +0.6562 0 0.9688 +0.6562 0 1 +0.6562 0.03125 0 +0.6562 0.03125 0.03125 +0.6562 0.03125 0.0625 +0.6562 0.03125 0.09375 +0.6562 0.03125 0.125 +0.6562 0.03125 0.1562 +0.6562 0.03125 0.1875 +0.6562 0.03125 0.2188 +0.6562 0.03125 0.25 +0.6562 0.03125 0.2812 +0.6562 0.03125 0.3125 +0.6562 0.03125 0.3438 +0.6562 0.03125 0.375 +0.6562 0.03125 0.4062 +0.6562 0.03125 0.4375 +0.6562 0.03125 0.4688 +0.6562 0.03125 0.5 +0.6562 0.03125 0.5312 +0.6562 0.03125 0.5625 +0.6562 0.03125 0.5938 +0.6562 0.03125 0.625 +0.6562 0.03125 0.6562 +0.6562 0.03125 0.6875 +0.6562 0.03125 0.7188 +0.6562 0.03125 0.75 +0.6562 0.03125 0.7812 +0.6562 0.03125 0.8125 +0.6562 0.03125 0.8438 +0.6562 0.03125 0.875 +0.6562 0.03125 0.9062 +0.6562 0.03125 0.9375 +0.6562 0.03125 0.9688 +0.6562 0.03125 1 +0.6562 0.0625 0 +0.6562 0.0625 0.03125 +0.6562 0.0625 0.0625 +0.6562 0.0625 0.09375 +0.6562 0.0625 0.125 +0.6562 0.0625 0.1562 +0.6562 0.0625 0.1875 +0.6562 0.0625 0.2188 +0.6562 0.0625 0.25 +0.6562 0.0625 0.2812 +0.6562 0.0625 0.3125 +0.6562 0.0625 0.3438 +0.6562 0.0625 0.375 +0.6562 0.0625 0.4062 +0.6562 0.0625 0.4375 +0.6562 0.0625 0.4688 +0.6562 0.0625 0.5 +0.6562 0.0625 0.5312 +0.6562 0.0625 0.5625 +0.6562 0.0625 0.5938 +0.6562 0.0625 0.625 +0.6562 0.0625 0.6562 +0.6562 0.0625 0.6875 +0.6562 0.0625 0.7188 +0.6562 0.0625 0.75 +0.6562 0.0625 0.7812 +0.6562 0.0625 0.8125 +0.6562 0.0625 0.8438 +0.6562 0.0625 0.875 +0.6562 0.0625 0.9062 +0.6562 0.0625 0.9375 +0.6562 0.0625 0.9688 +0.6562 0.0625 1 +0.6562 0.09375 0 +0.6562 0.09375 0.03125 +0.6562 0.09375 0.0625 +0.6562 0.09375 0.09375 +0.6562 0.09375 0.125 +0.6562 0.09375 0.1562 +0.6562 0.09375 0.1875 +0.6562 0.09375 0.2188 +0.6562 0.09375 0.25 +0.6562 0.09375 0.2812 +0.6562 0.09375 0.3125 +0.6562 0.09375 0.3438 +0.6562 0.09375 0.375 +0.6562 0.09375 0.4062 +0.6562 0.09375 0.4375 +0.6562 0.09375 0.4688 +0.6562 0.09375 0.5 +0.6562 0.09375 0.5312 +0.6562 0.09375 0.5625 +0.6562 0.09375 0.5938 +0.6562 0.09375 0.625 +0.6562 0.09375 0.6562 +0.6562 0.09375 0.6875 +0.6562 0.09375 0.7188 +0.6562 0.09375 0.75 +0.6562 0.09375 0.7812 +0.6562 0.09375 0.8125 +0.6562 0.09375 0.8438 +0.6562 0.09375 0.875 +0.6562 0.09375 0.9062 +0.6562 0.09375 0.9375 +0.6562 0.09375 0.9688 +0.6562 0.09375 1 +0.6562 0.125 0 +0.6562 0.125 0.03125 +0.6562 0.125 0.0625 +0.6562 0.125 0.09375 +0.6562 0.125 0.125 +0.6562 0.125 0.1562 +0.6562 0.125 0.1875 +0.6562 0.125 0.2188 +0.6562 0.125 0.25 +0.6562 0.125 0.2812 +0.6562 0.125 0.3125 +0.6562 0.125 0.3438 +0.6562 0.125 0.375 +0.6562 0.125 0.4062 +0.6562 0.125 0.4375 +0.6562 0.125 0.4688 +0.6562 0.125 0.5 +0.6562 0.125 0.5312 +0.6562 0.125 0.5625 +0.6562 0.125 0.5938 +0.6562 0.125 0.625 +0.6562 0.125 0.6562 +0.6562 0.125 0.6875 +0.6562 0.125 0.7188 +0.6562 0.125 0.75 +0.6562 0.125 0.7812 +0.6562 0.125 0.8125 +0.6562 0.125 0.8438 +0.6562 0.125 0.875 +0.6562 0.125 0.9062 +0.6562 0.125 0.9375 +0.6562 0.125 0.9688 +0.6562 0.125 1 +0.6562 0.1562 0 +0.6562 0.1562 0.03125 +0.6562 0.1562 0.0625 +0.6562 0.1562 0.09375 +0.6562 0.1562 0.125 +0.6562 0.1562 0.1562 +0.6562 0.1562 0.1875 +0.6562 0.1562 0.2188 +0.6562 0.1562 0.25 +0.6562 0.1562 0.2812 +0.6562 0.1562 0.3125 +0.6562 0.1562 0.3438 +0.6562 0.1562 0.375 +0.6562 0.1562 0.4062 +0.6562 0.1562 0.4375 +0.6562 0.1562 0.4688 +0.6562 0.1562 0.5 +0.6562 0.1562 0.5312 +0.6562 0.1562 0.5625 +0.6562 0.1562 0.5938 +0.6562 0.1562 0.625 +0.6562 0.1562 0.6562 +0.6562 0.1562 0.6875 +0.6562 0.1562 0.7188 +0.6562 0.1562 0.75 +0.6562 0.1562 0.7812 +0.6562 0.1562 0.8125 +0.6562 0.1562 0.8438 +0.6562 0.1562 0.875 +0.6562 0.1562 0.9062 +0.6562 0.1562 0.9375 +0.6562 0.1562 0.9688 +0.6562 0.1562 1 +0.6562 0.1875 0 +0.6562 0.1875 0.03125 +0.6562 0.1875 0.0625 +0.6562 0.1875 0.09375 +0.6562 0.1875 0.125 +0.6562 0.1875 0.1562 +0.6562 0.1875 0.1875 +0.6562 0.1875 0.2188 +0.6562 0.1875 0.25 +0.6562 0.1875 0.2812 +0.6562 0.1875 0.3125 +0.6562 0.1875 0.3438 +0.6562 0.1875 0.375 +0.6562 0.1875 0.4062 +0.6562 0.1875 0.4375 +0.6562 0.1875 0.4688 +0.6562 0.1875 0.5 +0.6562 0.1875 0.5312 +0.6562 0.1875 0.5625 +0.6562 0.1875 0.5938 +0.6562 0.1875 0.625 +0.6562 0.1875 0.6562 +0.6562 0.1875 0.6875 +0.6562 0.1875 0.7188 +0.6562 0.1875 0.75 +0.6562 0.1875 0.7812 +0.6562 0.1875 0.8125 +0.6562 0.1875 0.8438 +0.6562 0.1875 0.875 +0.6562 0.1875 0.9062 +0.6562 0.1875 0.9375 +0.6562 0.1875 0.9688 +0.6562 0.1875 1 +0.6562 0.2188 0 +0.6562 0.2188 0.03125 +0.6562 0.2188 0.0625 +0.6562 0.2188 0.09375 +0.6562 0.2188 0.125 +0.6562 0.2188 0.1562 +0.6562 0.2188 0.1875 +0.6562 0.2188 0.2188 +0.6562 0.2188 0.25 +0.6562 0.2188 0.2812 +0.6562 0.2188 0.3125 +0.6562 0.2188 0.3438 +0.6562 0.2188 0.375 +0.6562 0.2188 0.4062 +0.6562 0.2188 0.4375 +0.6562 0.2188 0.4688 +0.6562 0.2188 0.5 +0.6562 0.2188 0.5312 +0.6562 0.2188 0.5625 +0.6562 0.2188 0.5938 +0.6562 0.2188 0.625 +0.6562 0.2188 0.6562 +0.6562 0.2188 0.6875 +0.6562 0.2188 0.7188 +0.6562 0.2188 0.75 +0.6562 0.2188 0.7812 +0.6562 0.2188 0.8125 +0.6562 0.2188 0.8438 +0.6562 0.2188 0.875 +0.6562 0.2188 0.9062 +0.6562 0.2188 0.9375 +0.6562 0.2188 0.9688 +0.6562 0.2188 1 +0.6562 0.25 0 +0.6562 0.25 0.03125 +0.6562 0.25 0.0625 +0.6562 0.25 0.09375 +0.6562 0.25 0.125 +0.6562 0.25 0.1562 +0.6562 0.25 0.1875 +0.6562 0.25 0.2188 +0.6562 0.25 0.25 +0.6562 0.25 0.2812 +0.6562 0.25 0.3125 +0.6562 0.25 0.3438 +0.6562 0.25 0.375 +0.6562 0.25 0.4062 +0.6562 0.25 0.4375 +0.6562 0.25 0.4688 +0.6562 0.25 0.5 +0.6562 0.25 0.5312 +0.6562 0.25 0.5625 +0.6562 0.25 0.5938 +0.6562 0.25 0.625 +0.6562 0.25 0.6562 +0.6562 0.25 0.6875 +0.6562 0.25 0.7188 +0.6562 0.25 0.75 +0.6562 0.25 0.7812 +0.6562 0.25 0.8125 +0.6562 0.25 0.8438 +0.6562 0.25 0.875 +0.6562 0.25 0.9062 +0.6562 0.25 0.9375 +0.6562 0.25 0.9688 +0.6562 0.25 1 +0.6562 0.2812 0 +0.6562 0.2812 0.03125 +0.6562 0.2812 0.0625 +0.6562 0.2812 0.09375 +0.6562 0.2812 0.125 +0.6562 0.2812 0.1562 +0.6562 0.2812 0.1875 +0.6562 0.2812 0.2188 +0.6562 0.2812 0.25 +0.6562 0.2812 0.2812 +0.6562 0.2812 0.3125 +0.6562 0.2812 0.3438 +0.6562 0.2812 0.375 +0.6562 0.2812 0.4062 +0.6562 0.2812 0.4375 +0.6562 0.2812 0.4688 +0.6562 0.2812 0.5 +0.6562 0.2812 0.5312 +0.6562 0.2812 0.5625 +0.6562 0.2812 0.5938 +0.6562 0.2812 0.625 +0.6562 0.2812 0.6562 +0.6562 0.2812 0.6875 +0.6562 0.2812 0.7188 +0.6562 0.2812 0.75 +0.6562 0.2812 0.7812 +0.6562 0.2812 0.8125 +0.6562 0.2812 0.8438 +0.6562 0.2812 0.875 +0.6562 0.2812 0.9062 +0.6562 0.2812 0.9375 +0.6562 0.2812 0.9688 +0.6562 0.2812 1 +0.6562 0.3125 0 +0.6562 0.3125 0.03125 +0.6562 0.3125 0.0625 +0.6562 0.3125 0.09375 +0.6562 0.3125 0.125 +0.6562 0.3125 0.1562 +0.6562 0.3125 0.1875 +0.6562 0.3125 0.2188 +0.6562 0.3125 0.25 +0.6562 0.3125 0.2812 +0.6562 0.3125 0.3125 +0.6562 0.3125 0.3438 +0.6562 0.3125 0.375 +0.6562 0.3125 0.4062 +0.6562 0.3125 0.4375 +0.6562 0.3125 0.4688 +0.6562 0.3125 0.5 +0.6562 0.3125 0.5312 +0.6562 0.3125 0.5625 +0.6562 0.3125 0.5938 +0.6562 0.3125 0.625 +0.6562 0.3125 0.6562 +0.6562 0.3125 0.6875 +0.6562 0.3125 0.7188 +0.6562 0.3125 0.75 +0.6562 0.3125 0.7812 +0.6562 0.3125 0.8125 +0.6562 0.3125 0.8438 +0.6562 0.3125 0.875 +0.6562 0.3125 0.9062 +0.6562 0.3125 0.9375 +0.6562 0.3125 0.9688 +0.6562 0.3125 1 +0.6562 0.3438 0 +0.6562 0.3438 0.03125 +0.6562 0.3438 0.0625 +0.6562 0.3438 0.09375 +0.6562 0.3438 0.125 +0.6562 0.3438 0.1562 +0.6562 0.3438 0.1875 +0.6562 0.3438 0.2188 +0.6562 0.3438 0.25 +0.6562 0.3438 0.2812 +0.6562 0.3438 0.3125 +0.6562 0.3438 0.3438 +0.6562 0.3438 0.375 +0.6562 0.3438 0.4062 +0.6562 0.3438 0.4375 +0.6562 0.3438 0.4688 +0.6562 0.3438 0.5 +0.6562 0.3438 0.5312 +0.6562 0.3438 0.5625 +0.6562 0.3438 0.5938 +0.6562 0.3438 0.625 +0.6562 0.3438 0.6562 +0.6562 0.3438 0.6875 +0.6562 0.3438 0.7188 +0.6562 0.3438 0.75 +0.6562 0.3438 0.7812 +0.6562 0.3438 0.8125 +0.6562 0.3438 0.8438 +0.6562 0.3438 0.875 +0.6562 0.3438 0.9062 +0.6562 0.3438 0.9375 +0.6562 0.3438 0.9688 +0.6562 0.3438 1 +0.6562 0.375 0 +0.6562 0.375 0.03125 +0.6562 0.375 0.0625 +0.6562 0.375 0.09375 +0.6562 0.375 0.125 +0.6562 0.375 0.1562 +0.6562 0.375 0.1875 +0.6562 0.375 0.2188 +0.6562 0.375 0.25 +0.6562 0.375 0.2812 +0.6562 0.375 0.3125 +0.6562 0.375 0.3438 +0.6562 0.375 0.375 +0.6562 0.375 0.4062 +0.6562 0.375 0.4375 +0.6562 0.375 0.4688 +0.6562 0.375 0.5 +0.6562 0.375 0.5312 +0.6562 0.375 0.5625 +0.6562 0.375 0.5938 +0.6562 0.375 0.625 +0.6562 0.375 0.6562 +0.6562 0.375 0.6875 +0.6562 0.375 0.7188 +0.6562 0.375 0.75 +0.6562 0.375 0.7812 +0.6562 0.375 0.8125 +0.6562 0.375 0.8438 +0.6562 0.375 0.875 +0.6562 0.375 0.9062 +0.6562 0.375 0.9375 +0.6562 0.375 0.9688 +0.6562 0.375 1 +0.6562 0.4062 0 +0.6562 0.4062 0.03125 +0.6562 0.4062 0.0625 +0.6562 0.4062 0.09375 +0.6562 0.4062 0.125 +0.6562 0.4062 0.1562 +0.6562 0.4062 0.1875 +0.6562 0.4062 0.2188 +0.6562 0.4062 0.25 +0.6562 0.4062 0.2812 +0.6562 0.4062 0.3125 +0.6562 0.4062 0.3438 +0.6562 0.4062 0.375 +0.6562 0.4062 0.4062 +0.6562 0.4062 0.4375 +0.6562 0.4062 0.4688 +0.6562 0.4062 0.5 +0.6562 0.4062 0.5312 +0.6562 0.4062 0.5625 +0.6562 0.4062 0.5938 +0.6562 0.4062 0.625 +0.6562 0.4062 0.6562 +0.6562 0.4062 0.6875 +0.6562 0.4062 0.7188 +0.6562 0.4062 0.75 +0.6562 0.4062 0.7812 +0.6562 0.4062 0.8125 +0.6562 0.4062 0.8438 +0.6562 0.4062 0.875 +0.6562 0.4062 0.9062 +0.6562 0.4062 0.9375 +0.6562 0.4062 0.9688 +0.6562 0.4062 1 +0.6562 0.4375 0 +0.6562 0.4375 0.03125 +0.6562 0.4375 0.0625 +0.6562 0.4375 0.09375 +0.6562 0.4375 0.125 +0.6562 0.4375 0.1562 +0.6562 0.4375 0.1875 +0.6562 0.4375 0.2188 +0.6562 0.4375 0.25 +0.6562 0.4375 0.2812 +0.6562 0.4375 0.3125 +0.6562 0.4375 0.3438 +0.6562 0.4375 0.375 +0.6562 0.4375 0.4062 +0.6562 0.4375 0.4375 +0.6562 0.4375 0.4688 +0.6562 0.4375 0.5 +0.6562 0.4375 0.5312 +0.6562 0.4375 0.5625 +0.6562 0.4375 0.5938 +0.6562 0.4375 0.625 +0.6562 0.4375 0.6562 +0.6562 0.4375 0.6875 +0.6562 0.4375 0.7188 +0.6562 0.4375 0.75 +0.6562 0.4375 0.7812 +0.6562 0.4375 0.8125 +0.6562 0.4375 0.8438 +0.6562 0.4375 0.875 +0.6562 0.4375 0.9062 +0.6562 0.4375 0.9375 +0.6562 0.4375 0.9688 +0.6562 0.4375 1 +0.6562 0.4688 0 +0.6562 0.4688 0.03125 +0.6562 0.4688 0.0625 +0.6562 0.4688 0.09375 +0.6562 0.4688 0.125 +0.6562 0.4688 0.1562 +0.6562 0.4688 0.1875 +0.6562 0.4688 0.2188 +0.6562 0.4688 0.25 +0.6562 0.4688 0.2812 +0.6562 0.4688 0.3125 +0.6562 0.4688 0.3438 +0.6562 0.4688 0.375 +0.6562 0.4688 0.4062 +0.6562 0.4688 0.4375 +0.6562 0.4688 0.4688 +0.6562 0.4688 0.5 +0.6562 0.4688 0.5312 +0.6562 0.4688 0.5625 +0.6562 0.4688 0.5938 +0.6562 0.4688 0.625 +0.6562 0.4688 0.6562 +0.6562 0.4688 0.6875 +0.6562 0.4688 0.7188 +0.6562 0.4688 0.75 +0.6562 0.4688 0.7812 +0.6562 0.4688 0.8125 +0.6562 0.4688 0.8438 +0.6562 0.4688 0.875 +0.6562 0.4688 0.9062 +0.6562 0.4688 0.9375 +0.6562 0.4688 0.9688 +0.6562 0.4688 1 +0.6562 0.5 0 +0.6562 0.5 0.03125 +0.6562 0.5 0.0625 +0.6562 0.5 0.09375 +0.6562 0.5 0.125 +0.6562 0.5 0.1562 +0.6562 0.5 0.1875 +0.6562 0.5 0.2188 +0.6562 0.5 0.25 +0.6562 0.5 0.2812 +0.6562 0.5 0.3125 +0.6562 0.5 0.3438 +0.6562 0.5 0.375 +0.6562 0.5 0.4062 +0.6562 0.5 0.4375 +0.6562 0.5 0.4688 +0.6562 0.5 0.5 +0.6562 0.5 0.5312 +0.6562 0.5 0.5625 +0.6562 0.5 0.5938 +0.6562 0.5 0.625 +0.6562 0.5 0.6562 +0.6562 0.5 0.6875 +0.6562 0.5 0.7188 +0.6562 0.5 0.75 +0.6562 0.5 0.7812 +0.6562 0.5 0.8125 +0.6562 0.5 0.8438 +0.6562 0.5 0.875 +0.6562 0.5 0.9062 +0.6562 0.5 0.9375 +0.6562 0.5 0.9688 +0.6562 0.5 1 +0.6562 0.5312 0 +0.6562 0.5312 0.03125 +0.6562 0.5312 0.0625 +0.6562 0.5312 0.09375 +0.6562 0.5312 0.125 +0.6562 0.5312 0.1562 +0.6562 0.5312 0.1875 +0.6562 0.5312 0.2188 +0.6562 0.5312 0.25 +0.6562 0.5312 0.2812 +0.6562 0.5312 0.3125 +0.6562 0.5312 0.3438 +0.6562 0.5312 0.375 +0.6562 0.5312 0.4062 +0.6562 0.5312 0.4375 +0.6562 0.5312 0.4688 +0.6562 0.5312 0.5 +0.6562 0.5312 0.5312 +0.6562 0.5312 0.5625 +0.6562 0.5312 0.5938 +0.6562 0.5312 0.625 +0.6562 0.5312 0.6562 +0.6562 0.5312 0.6875 +0.6562 0.5312 0.7188 +0.6562 0.5312 0.75 +0.6562 0.5312 0.7812 +0.6562 0.5312 0.8125 +0.6562 0.5312 0.8438 +0.6562 0.5312 0.875 +0.6562 0.5312 0.9062 +0.6562 0.5312 0.9375 +0.6562 0.5312 0.9688 +0.6562 0.5312 1 +0.6562 0.5625 0 +0.6562 0.5625 0.03125 +0.6562 0.5625 0.0625 +0.6562 0.5625 0.09375 +0.6562 0.5625 0.125 +0.6562 0.5625 0.1562 +0.6562 0.5625 0.1875 +0.6562 0.5625 0.2188 +0.6562 0.5625 0.25 +0.6562 0.5625 0.2812 +0.6562 0.5625 0.3125 +0.6562 0.5625 0.3438 +0.6562 0.5625 0.375 +0.6562 0.5625 0.4062 +0.6562 0.5625 0.4375 +0.6562 0.5625 0.4688 +0.6562 0.5625 0.5 +0.6562 0.5625 0.5312 +0.6562 0.5625 0.5625 +0.6562 0.5625 0.5938 +0.6562 0.5625 0.625 +0.6562 0.5625 0.6562 +0.6562 0.5625 0.6875 +0.6562 0.5625 0.7188 +0.6562 0.5625 0.75 +0.6562 0.5625 0.7812 +0.6562 0.5625 0.8125 +0.6562 0.5625 0.8438 +0.6562 0.5625 0.875 +0.6562 0.5625 0.9062 +0.6562 0.5625 0.9375 +0.6562 0.5625 0.9688 +0.6562 0.5625 1 +0.6562 0.5938 0 +0.6562 0.5938 0.03125 +0.6562 0.5938 0.0625 +0.6562 0.5938 0.09375 +0.6562 0.5938 0.125 +0.6562 0.5938 0.1562 +0.6562 0.5938 0.1875 +0.6562 0.5938 0.2188 +0.6562 0.5938 0.25 +0.6562 0.5938 0.2812 +0.6562 0.5938 0.3125 +0.6562 0.5938 0.3438 +0.6562 0.5938 0.375 +0.6562 0.5938 0.4062 +0.6562 0.5938 0.4375 +0.6562 0.5938 0.4688 +0.6562 0.5938 0.5 +0.6562 0.5938 0.5312 +0.6562 0.5938 0.5625 +0.6562 0.5938 0.5938 +0.6562 0.5938 0.625 +0.6562 0.5938 0.6562 +0.6562 0.5938 0.6875 +0.6562 0.5938 0.7188 +0.6562 0.5938 0.75 +0.6562 0.5938 0.7812 +0.6562 0.5938 0.8125 +0.6562 0.5938 0.8438 +0.6562 0.5938 0.875 +0.6562 0.5938 0.9062 +0.6562 0.5938 0.9375 +0.6562 0.5938 0.9688 +0.6562 0.5938 1 +0.6562 0.625 0 +0.6562 0.625 0.03125 +0.6562 0.625 0.0625 +0.6562 0.625 0.09375 +0.6562 0.625 0.125 +0.6562 0.625 0.1562 +0.6562 0.625 0.1875 +0.6562 0.625 0.2188 +0.6562 0.625 0.25 +0.6562 0.625 0.2812 +0.6562 0.625 0.3125 +0.6562 0.625 0.3438 +0.6562 0.625 0.375 +0.6562 0.625 0.4062 +0.6562 0.625 0.4375 +0.6562 0.625 0.4688 +0.6562 0.625 0.5 +0.6562 0.625 0.5312 +0.6562 0.625 0.5625 +0.6562 0.625 0.5938 +0.6562 0.625 0.625 +0.6562 0.625 0.6562 +0.6562 0.625 0.6875 +0.6562 0.625 0.7188 +0.6562 0.625 0.75 +0.6562 0.625 0.7812 +0.6562 0.625 0.8125 +0.6562 0.625 0.8438 +0.6562 0.625 0.875 +0.6562 0.625 0.9062 +0.6562 0.625 0.9375 +0.6562 0.625 0.9688 +0.6562 0.625 1 +0.6562 0.6562 0 +0.6562 0.6562 0.03125 +0.6562 0.6562 0.0625 +0.6562 0.6562 0.09375 +0.6562 0.6562 0.125 +0.6562 0.6562 0.1562 +0.6562 0.6562 0.1875 +0.6562 0.6562 0.2188 +0.6562 0.6562 0.25 +0.6562 0.6562 0.2812 +0.6562 0.6562 0.3125 +0.6562 0.6562 0.3438 +0.6562 0.6562 0.375 +0.6562 0.6562 0.4062 +0.6562 0.6562 0.4375 +0.6562 0.6562 0.4688 +0.6562 0.6562 0.5 +0.6562 0.6562 0.5312 +0.6562 0.6562 0.5625 +0.6562 0.6562 0.5938 +0.6562 0.6562 0.625 +0.6562 0.6562 0.6562 +0.6562 0.6562 0.6875 +0.6562 0.6562 0.7188 +0.6562 0.6562 0.75 +0.6562 0.6562 0.7812 +0.6562 0.6562 0.8125 +0.6562 0.6562 0.8438 +0.6562 0.6562 0.875 +0.6562 0.6562 0.9062 +0.6562 0.6562 0.9375 +0.6562 0.6562 0.9688 +0.6562 0.6562 1 +0.6562 0.6875 0 +0.6562 0.6875 0.03125 +0.6562 0.6875 0.0625 +0.6562 0.6875 0.09375 +0.6562 0.6875 0.125 +0.6562 0.6875 0.1562 +0.6562 0.6875 0.1875 +0.6562 0.6875 0.2188 +0.6562 0.6875 0.25 +0.6562 0.6875 0.2812 +0.6562 0.6875 0.3125 +0.6562 0.6875 0.3438 +0.6562 0.6875 0.375 +0.6562 0.6875 0.4062 +0.6562 0.6875 0.4375 +0.6562 0.6875 0.4688 +0.6562 0.6875 0.5 +0.6562 0.6875 0.5312 +0.6562 0.6875 0.5625 +0.6562 0.6875 0.5938 +0.6562 0.6875 0.625 +0.6562 0.6875 0.6562 +0.6562 0.6875 0.6875 +0.6562 0.6875 0.7188 +0.6562 0.6875 0.75 +0.6562 0.6875 0.7812 +0.6562 0.6875 0.8125 +0.6562 0.6875 0.8438 +0.6562 0.6875 0.875 +0.6562 0.6875 0.9062 +0.6562 0.6875 0.9375 +0.6562 0.6875 0.9688 +0.6562 0.6875 1 +0.6562 0.7188 0 +0.6562 0.7188 0.03125 +0.6562 0.7188 0.0625 +0.6562 0.7188 0.09375 +0.6562 0.7188 0.125 +0.6562 0.7188 0.1562 +0.6562 0.7188 0.1875 +0.6562 0.7188 0.2188 +0.6562 0.7188 0.25 +0.6562 0.7188 0.2812 +0.6562 0.7188 0.3125 +0.6562 0.7188 0.3438 +0.6562 0.7188 0.375 +0.6562 0.7188 0.4062 +0.6562 0.7188 0.4375 +0.6562 0.7188 0.4688 +0.6562 0.7188 0.5 +0.6562 0.7188 0.5312 +0.6562 0.7188 0.5625 +0.6562 0.7188 0.5938 +0.6562 0.7188 0.625 +0.6562 0.7188 0.6562 +0.6562 0.7188 0.6875 +0.6562 0.7188 0.7188 +0.6562 0.7188 0.75 +0.6562 0.7188 0.7812 +0.6562 0.7188 0.8125 +0.6562 0.7188 0.8438 +0.6562 0.7188 0.875 +0.6562 0.7188 0.9062 +0.6562 0.7188 0.9375 +0.6562 0.7188 0.9688 +0.6562 0.7188 1 +0.6562 0.75 0 +0.6562 0.75 0.03125 +0.6562 0.75 0.0625 +0.6562 0.75 0.09375 +0.6562 0.75 0.125 +0.6562 0.75 0.1562 +0.6562 0.75 0.1875 +0.6562 0.75 0.2188 +0.6562 0.75 0.25 +0.6562 0.75 0.2812 +0.6562 0.75 0.3125 +0.6562 0.75 0.3438 +0.6562 0.75 0.375 +0.6562 0.75 0.4062 +0.6562 0.75 0.4375 +0.6562 0.75 0.4688 +0.6562 0.75 0.5 +0.6562 0.75 0.5312 +0.6562 0.75 0.5625 +0.6562 0.75 0.5938 +0.6562 0.75 0.625 +0.6562 0.75 0.6562 +0.6562 0.75 0.6875 +0.6562 0.75 0.7188 +0.6562 0.75 0.75 +0.6562 0.75 0.7812 +0.6562 0.75 0.8125 +0.6562 0.75 0.8438 +0.6562 0.75 0.875 +0.6562 0.75 0.9062 +0.6562 0.75 0.9375 +0.6562 0.75 0.9688 +0.6562 0.75 1 +0.6562 0.7812 0 +0.6562 0.7812 0.03125 +0.6562 0.7812 0.0625 +0.6562 0.7812 0.09375 +0.6562 0.7812 0.125 +0.6562 0.7812 0.1562 +0.6562 0.7812 0.1875 +0.6562 0.7812 0.2188 +0.6562 0.7812 0.25 +0.6562 0.7812 0.2812 +0.6562 0.7812 0.3125 +0.6562 0.7812 0.3438 +0.6562 0.7812 0.375 +0.6562 0.7812 0.4062 +0.6562 0.7812 0.4375 +0.6562 0.7812 0.4688 +0.6562 0.7812 0.5 +0.6562 0.7812 0.5312 +0.6562 0.7812 0.5625 +0.6562 0.7812 0.5938 +0.6562 0.7812 0.625 +0.6562 0.7812 0.6562 +0.6562 0.7812 0.6875 +0.6562 0.7812 0.7188 +0.6562 0.7812 0.75 +0.6562 0.7812 0.7812 +0.6562 0.7812 0.8125 +0.6562 0.7812 0.8438 +0.6562 0.7812 0.875 +0.6562 0.7812 0.9062 +0.6562 0.7812 0.9375 +0.6562 0.7812 0.9688 +0.6562 0.7812 1 +0.6562 0.8125 0 +0.6562 0.8125 0.03125 +0.6562 0.8125 0.0625 +0.6562 0.8125 0.09375 +0.6562 0.8125 0.125 +0.6562 0.8125 0.1562 +0.6562 0.8125 0.1875 +0.6562 0.8125 0.2188 +0.6562 0.8125 0.25 +0.6562 0.8125 0.2812 +0.6562 0.8125 0.3125 +0.6562 0.8125 0.3438 +0.6562 0.8125 0.375 +0.6562 0.8125 0.4062 +0.6562 0.8125 0.4375 +0.6562 0.8125 0.4688 +0.6562 0.8125 0.5 +0.6562 0.8125 0.5312 +0.6562 0.8125 0.5625 +0.6562 0.8125 0.5938 +0.6562 0.8125 0.625 +0.6562 0.8125 0.6562 +0.6562 0.8125 0.6875 +0.6562 0.8125 0.7188 +0.6562 0.8125 0.75 +0.6562 0.8125 0.7812 +0.6562 0.8125 0.8125 +0.6562 0.8125 0.8438 +0.6562 0.8125 0.875 +0.6562 0.8125 0.9062 +0.6562 0.8125 0.9375 +0.6562 0.8125 0.9688 +0.6562 0.8125 1 +0.6562 0.8438 0 +0.6562 0.8438 0.03125 +0.6562 0.8438 0.0625 +0.6562 0.8438 0.09375 +0.6562 0.8438 0.125 +0.6562 0.8438 0.1562 +0.6562 0.8438 0.1875 +0.6562 0.8438 0.2188 +0.6562 0.8438 0.25 +0.6562 0.8438 0.2812 +0.6562 0.8438 0.3125 +0.6562 0.8438 0.3438 +0.6562 0.8438 0.375 +0.6562 0.8438 0.4062 +0.6562 0.8438 0.4375 +0.6562 0.8438 0.4688 +0.6562 0.8438 0.5 +0.6562 0.8438 0.5312 +0.6562 0.8438 0.5625 +0.6562 0.8438 0.5938 +0.6562 0.8438 0.625 +0.6562 0.8438 0.6562 +0.6562 0.8438 0.6875 +0.6562 0.8438 0.7188 +0.6562 0.8438 0.75 +0.6562 0.8438 0.7812 +0.6562 0.8438 0.8125 +0.6562 0.8438 0.8438 +0.6562 0.8438 0.875 +0.6562 0.8438 0.9062 +0.6562 0.8438 0.9375 +0.6562 0.8438 0.9688 +0.6562 0.8438 1 +0.6562 0.875 0 +0.6562 0.875 0.03125 +0.6562 0.875 0.0625 +0.6562 0.875 0.09375 +0.6562 0.875 0.125 +0.6562 0.875 0.1562 +0.6562 0.875 0.1875 +0.6562 0.875 0.2188 +0.6562 0.875 0.25 +0.6562 0.875 0.2812 +0.6562 0.875 0.3125 +0.6562 0.875 0.3438 +0.6562 0.875 0.375 +0.6562 0.875 0.4062 +0.6562 0.875 0.4375 +0.6562 0.875 0.4688 +0.6562 0.875 0.5 +0.6562 0.875 0.5312 +0.6562 0.875 0.5625 +0.6562 0.875 0.5938 +0.6562 0.875 0.625 +0.6562 0.875 0.6562 +0.6562 0.875 0.6875 +0.6562 0.875 0.7188 +0.6562 0.875 0.75 +0.6562 0.875 0.7812 +0.6562 0.875 0.8125 +0.6562 0.875 0.8438 +0.6562 0.875 0.875 +0.6562 0.875 0.9062 +0.6562 0.875 0.9375 +0.6562 0.875 0.9688 +0.6562 0.875 1 +0.6562 0.9062 0 +0.6562 0.9062 0.03125 +0.6562 0.9062 0.0625 +0.6562 0.9062 0.09375 +0.6562 0.9062 0.125 +0.6562 0.9062 0.1562 +0.6562 0.9062 0.1875 +0.6562 0.9062 0.2188 +0.6562 0.9062 0.25 +0.6562 0.9062 0.2812 +0.6562 0.9062 0.3125 +0.6562 0.9062 0.3438 +0.6562 0.9062 0.375 +0.6562 0.9062 0.4062 +0.6562 0.9062 0.4375 +0.6562 0.9062 0.4688 +0.6562 0.9062 0.5 +0.6562 0.9062 0.5312 +0.6562 0.9062 0.5625 +0.6562 0.9062 0.5938 +0.6562 0.9062 0.625 +0.6562 0.9062 0.6562 +0.6562 0.9062 0.6875 +0.6562 0.9062 0.7188 +0.6562 0.9062 0.75 +0.6562 0.9062 0.7812 +0.6562 0.9062 0.8125 +0.6562 0.9062 0.8438 +0.6562 0.9062 0.875 +0.6562 0.9062 0.9062 +0.6562 0.9062 0.9375 +0.6562 0.9062 0.9688 +0.6562 0.9062 1 +0.6562 0.9375 0 +0.6562 0.9375 0.03125 +0.6562 0.9375 0.0625 +0.6562 0.9375 0.09375 +0.6562 0.9375 0.125 +0.6562 0.9375 0.1562 +0.6562 0.9375 0.1875 +0.6562 0.9375 0.2188 +0.6562 0.9375 0.25 +0.6562 0.9375 0.2812 +0.6562 0.9375 0.3125 +0.6562 0.9375 0.3438 +0.6562 0.9375 0.375 +0.6562 0.9375 0.4062 +0.6562 0.9375 0.4375 +0.6562 0.9375 0.4688 +0.6562 0.9375 0.5 +0.6562 0.9375 0.5312 +0.6562 0.9375 0.5625 +0.6562 0.9375 0.5938 +0.6562 0.9375 0.625 +0.6562 0.9375 0.6562 +0.6562 0.9375 0.6875 +0.6562 0.9375 0.7188 +0.6562 0.9375 0.75 +0.6562 0.9375 0.7812 +0.6562 0.9375 0.8125 +0.6562 0.9375 0.8438 +0.6562 0.9375 0.875 +0.6562 0.9375 0.9062 +0.6562 0.9375 0.9375 +0.6562 0.9375 0.9688 +0.6562 0.9375 1 +0.6562 0.9688 0 +0.6562 0.9688 0.03125 +0.6562 0.9688 0.0625 +0.6562 0.9688 0.09375 +0.6562 0.9688 0.125 +0.6562 0.9688 0.1562 +0.6562 0.9688 0.1875 +0.6562 0.9688 0.2188 +0.6562 0.9688 0.25 +0.6562 0.9688 0.2812 +0.6562 0.9688 0.3125 +0.6562 0.9688 0.3438 +0.6562 0.9688 0.375 +0.6562 0.9688 0.4062 +0.6562 0.9688 0.4375 +0.6562 0.9688 0.4688 +0.6562 0.9688 0.5 +0.6562 0.9688 0.5312 +0.6562 0.9688 0.5625 +0.6562 0.9688 0.5938 +0.6562 0.9688 0.625 +0.6562 0.9688 0.6562 +0.6562 0.9688 0.6875 +0.6562 0.9688 0.7188 +0.6562 0.9688 0.75 +0.6562 0.9688 0.7812 +0.6562 0.9688 0.8125 +0.6562 0.9688 0.8438 +0.6562 0.9688 0.875 +0.6562 0.9688 0.9062 +0.6562 0.9688 0.9375 +0.6562 0.9688 0.9688 +0.6562 0.9688 1 +0.6562 1 0 +0.6562 1 0.03125 +0.6562 1 0.0625 +0.6562 1 0.09375 +0.6562 1 0.125 +0.6562 1 0.1562 +0.6562 1 0.1875 +0.6562 1 0.2188 +0.6562 1 0.25 +0.6562 1 0.2812 +0.6562 1 0.3125 +0.6562 1 0.3438 +0.6562 1 0.375 +0.6562 1 0.4062 +0.6562 1 0.4375 +0.6562 1 0.4688 +0.6562 1 0.5 +0.6562 1 0.5312 +0.6562 1 0.5625 +0.6562 1 0.5938 +0.6562 1 0.625 +0.6562 1 0.6562 +0.6562 1 0.6875 +0.6562 1 0.7188 +0.6562 1 0.75 +0.6562 1 0.7812 +0.6562 1 0.8125 +0.6562 1 0.8438 +0.6562 1 0.875 +0.6562 1 0.9062 +0.6562 1 0.9375 +0.6562 1 0.9688 +0.6562 1 1 +0.6875 0 0 +0.6875 0 0.03125 +0.6875 0 0.0625 +0.6875 0 0.09375 +0.6875 0 0.125 +0.6875 0 0.1562 +0.6875 0 0.1875 +0.6875 0 0.2188 +0.6875 0 0.25 +0.6875 0 0.2812 +0.6875 0 0.3125 +0.6875 0 0.3438 +0.6875 0 0.375 +0.6875 0 0.4062 +0.6875 0 0.4375 +0.6875 0 0.4688 +0.6875 0 0.5 +0.6875 0 0.5312 +0.6875 0 0.5625 +0.6875 0 0.5938 +0.6875 0 0.625 +0.6875 0 0.6562 +0.6875 0 0.6875 +0.6875 0 0.7188 +0.6875 0 0.75 +0.6875 0 0.7812 +0.6875 0 0.8125 +0.6875 0 0.8438 +0.6875 0 0.875 +0.6875 0 0.9062 +0.6875 0 0.9375 +0.6875 0 0.9688 +0.6875 0 1 +0.6875 0.03125 0 +0.6875 0.03125 0.03125 +0.6875 0.03125 0.0625 +0.6875 0.03125 0.09375 +0.6875 0.03125 0.125 +0.6875 0.03125 0.1562 +0.6875 0.03125 0.1875 +0.6875 0.03125 0.2188 +0.6875 0.03125 0.25 +0.6875 0.03125 0.2812 +0.6875 0.03125 0.3125 +0.6875 0.03125 0.3438 +0.6875 0.03125 0.375 +0.6875 0.03125 0.4062 +0.6875 0.03125 0.4375 +0.6875 0.03125 0.4688 +0.6875 0.03125 0.5 +0.6875 0.03125 0.5312 +0.6875 0.03125 0.5625 +0.6875 0.03125 0.5938 +0.6875 0.03125 0.625 +0.6875 0.03125 0.6562 +0.6875 0.03125 0.6875 +0.6875 0.03125 0.7188 +0.6875 0.03125 0.75 +0.6875 0.03125 0.7812 +0.6875 0.03125 0.8125 +0.6875 0.03125 0.8438 +0.6875 0.03125 0.875 +0.6875 0.03125 0.9062 +0.6875 0.03125 0.9375 +0.6875 0.03125 0.9688 +0.6875 0.03125 1 +0.6875 0.0625 0 +0.6875 0.0625 0.03125 +0.6875 0.0625 0.0625 +0.6875 0.0625 0.09375 +0.6875 0.0625 0.125 +0.6875 0.0625 0.1562 +0.6875 0.0625 0.1875 +0.6875 0.0625 0.2188 +0.6875 0.0625 0.25 +0.6875 0.0625 0.2812 +0.6875 0.0625 0.3125 +0.6875 0.0625 0.3438 +0.6875 0.0625 0.375 +0.6875 0.0625 0.4062 +0.6875 0.0625 0.4375 +0.6875 0.0625 0.4688 +0.6875 0.0625 0.5 +0.6875 0.0625 0.5312 +0.6875 0.0625 0.5625 +0.6875 0.0625 0.5938 +0.6875 0.0625 0.625 +0.6875 0.0625 0.6562 +0.6875 0.0625 0.6875 +0.6875 0.0625 0.7188 +0.6875 0.0625 0.75 +0.6875 0.0625 0.7812 +0.6875 0.0625 0.8125 +0.6875 0.0625 0.8438 +0.6875 0.0625 0.875 +0.6875 0.0625 0.9062 +0.6875 0.0625 0.9375 +0.6875 0.0625 0.9688 +0.6875 0.0625 1 +0.6875 0.09375 0 +0.6875 0.09375 0.03125 +0.6875 0.09375 0.0625 +0.6875 0.09375 0.09375 +0.6875 0.09375 0.125 +0.6875 0.09375 0.1562 +0.6875 0.09375 0.1875 +0.6875 0.09375 0.2188 +0.6875 0.09375 0.25 +0.6875 0.09375 0.2812 +0.6875 0.09375 0.3125 +0.6875 0.09375 0.3438 +0.6875 0.09375 0.375 +0.6875 0.09375 0.4062 +0.6875 0.09375 0.4375 +0.6875 0.09375 0.4688 +0.6875 0.09375 0.5 +0.6875 0.09375 0.5312 +0.6875 0.09375 0.5625 +0.6875 0.09375 0.5938 +0.6875 0.09375 0.625 +0.6875 0.09375 0.6562 +0.6875 0.09375 0.6875 +0.6875 0.09375 0.7188 +0.6875 0.09375 0.75 +0.6875 0.09375 0.7812 +0.6875 0.09375 0.8125 +0.6875 0.09375 0.8438 +0.6875 0.09375 0.875 +0.6875 0.09375 0.9062 +0.6875 0.09375 0.9375 +0.6875 0.09375 0.9688 +0.6875 0.09375 1 +0.6875 0.125 0 +0.6875 0.125 0.03125 +0.6875 0.125 0.0625 +0.6875 0.125 0.09375 +0.6875 0.125 0.125 +0.6875 0.125 0.1562 +0.6875 0.125 0.1875 +0.6875 0.125 0.2188 +0.6875 0.125 0.25 +0.6875 0.125 0.2812 +0.6875 0.125 0.3125 +0.6875 0.125 0.3438 +0.6875 0.125 0.375 +0.6875 0.125 0.4062 +0.6875 0.125 0.4375 +0.6875 0.125 0.4688 +0.6875 0.125 0.5 +0.6875 0.125 0.5312 +0.6875 0.125 0.5625 +0.6875 0.125 0.5938 +0.6875 0.125 0.625 +0.6875 0.125 0.6562 +0.6875 0.125 0.6875 +0.6875 0.125 0.7188 +0.6875 0.125 0.75 +0.6875 0.125 0.7812 +0.6875 0.125 0.8125 +0.6875 0.125 0.8438 +0.6875 0.125 0.875 +0.6875 0.125 0.9062 +0.6875 0.125 0.9375 +0.6875 0.125 0.9688 +0.6875 0.125 1 +0.6875 0.1562 0 +0.6875 0.1562 0.03125 +0.6875 0.1562 0.0625 +0.6875 0.1562 0.09375 +0.6875 0.1562 0.125 +0.6875 0.1562 0.1562 +0.6875 0.1562 0.1875 +0.6875 0.1562 0.2188 +0.6875 0.1562 0.25 +0.6875 0.1562 0.2812 +0.6875 0.1562 0.3125 +0.6875 0.1562 0.3438 +0.6875 0.1562 0.375 +0.6875 0.1562 0.4062 +0.6875 0.1562 0.4375 +0.6875 0.1562 0.4688 +0.6875 0.1562 0.5 +0.6875 0.1562 0.5312 +0.6875 0.1562 0.5625 +0.6875 0.1562 0.5938 +0.6875 0.1562 0.625 +0.6875 0.1562 0.6562 +0.6875 0.1562 0.6875 +0.6875 0.1562 0.7188 +0.6875 0.1562 0.75 +0.6875 0.1562 0.7812 +0.6875 0.1562 0.8125 +0.6875 0.1562 0.8438 +0.6875 0.1562 0.875 +0.6875 0.1562 0.9062 +0.6875 0.1562 0.9375 +0.6875 0.1562 0.9688 +0.6875 0.1562 1 +0.6875 0.1875 0 +0.6875 0.1875 0.03125 +0.6875 0.1875 0.0625 +0.6875 0.1875 0.09375 +0.6875 0.1875 0.125 +0.6875 0.1875 0.1562 +0.6875 0.1875 0.1875 +0.6875 0.1875 0.2188 +0.6875 0.1875 0.25 +0.6875 0.1875 0.2812 +0.6875 0.1875 0.3125 +0.6875 0.1875 0.3438 +0.6875 0.1875 0.375 +0.6875 0.1875 0.4062 +0.6875 0.1875 0.4375 +0.6875 0.1875 0.4688 +0.6875 0.1875 0.5 +0.6875 0.1875 0.5312 +0.6875 0.1875 0.5625 +0.6875 0.1875 0.5938 +0.6875 0.1875 0.625 +0.6875 0.1875 0.6562 +0.6875 0.1875 0.6875 +0.6875 0.1875 0.7188 +0.6875 0.1875 0.75 +0.6875 0.1875 0.7812 +0.6875 0.1875 0.8125 +0.6875 0.1875 0.8438 +0.6875 0.1875 0.875 +0.6875 0.1875 0.9062 +0.6875 0.1875 0.9375 +0.6875 0.1875 0.9688 +0.6875 0.1875 1 +0.6875 0.2188 0 +0.6875 0.2188 0.03125 +0.6875 0.2188 0.0625 +0.6875 0.2188 0.09375 +0.6875 0.2188 0.125 +0.6875 0.2188 0.1562 +0.6875 0.2188 0.1875 +0.6875 0.2188 0.2188 +0.6875 0.2188 0.25 +0.6875 0.2188 0.2812 +0.6875 0.2188 0.3125 +0.6875 0.2188 0.3438 +0.6875 0.2188 0.375 +0.6875 0.2188 0.4062 +0.6875 0.2188 0.4375 +0.6875 0.2188 0.4688 +0.6875 0.2188 0.5 +0.6875 0.2188 0.5312 +0.6875 0.2188 0.5625 +0.6875 0.2188 0.5938 +0.6875 0.2188 0.625 +0.6875 0.2188 0.6562 +0.6875 0.2188 0.6875 +0.6875 0.2188 0.7188 +0.6875 0.2188 0.75 +0.6875 0.2188 0.7812 +0.6875 0.2188 0.8125 +0.6875 0.2188 0.8438 +0.6875 0.2188 0.875 +0.6875 0.2188 0.9062 +0.6875 0.2188 0.9375 +0.6875 0.2188 0.9688 +0.6875 0.2188 1 +0.6875 0.25 0 +0.6875 0.25 0.03125 +0.6875 0.25 0.0625 +0.6875 0.25 0.09375 +0.6875 0.25 0.125 +0.6875 0.25 0.1562 +0.6875 0.25 0.1875 +0.6875 0.25 0.2188 +0.6875 0.25 0.25 +0.6875 0.25 0.2812 +0.6875 0.25 0.3125 +0.6875 0.25 0.3438 +0.6875 0.25 0.375 +0.6875 0.25 0.4062 +0.6875 0.25 0.4375 +0.6875 0.25 0.4688 +0.6875 0.25 0.5 +0.6875 0.25 0.5312 +0.6875 0.25 0.5625 +0.6875 0.25 0.5938 +0.6875 0.25 0.625 +0.6875 0.25 0.6562 +0.6875 0.25 0.6875 +0.6875 0.25 0.7188 +0.6875 0.25 0.75 +0.6875 0.25 0.7812 +0.6875 0.25 0.8125 +0.6875 0.25 0.8438 +0.6875 0.25 0.875 +0.6875 0.25 0.9062 +0.6875 0.25 0.9375 +0.6875 0.25 0.9688 +0.6875 0.25 1 +0.6875 0.2812 0 +0.6875 0.2812 0.03125 +0.6875 0.2812 0.0625 +0.6875 0.2812 0.09375 +0.6875 0.2812 0.125 +0.6875 0.2812 0.1562 +0.6875 0.2812 0.1875 +0.6875 0.2812 0.2188 +0.6875 0.2812 0.25 +0.6875 0.2812 0.2812 +0.6875 0.2812 0.3125 +0.6875 0.2812 0.3438 +0.6875 0.2812 0.375 +0.6875 0.2812 0.4062 +0.6875 0.2812 0.4375 +0.6875 0.2812 0.4688 +0.6875 0.2812 0.5 +0.6875 0.2812 0.5312 +0.6875 0.2812 0.5625 +0.6875 0.2812 0.5938 +0.6875 0.2812 0.625 +0.6875 0.2812 0.6562 +0.6875 0.2812 0.6875 +0.6875 0.2812 0.7188 +0.6875 0.2812 0.75 +0.6875 0.2812 0.7812 +0.6875 0.2812 0.8125 +0.6875 0.2812 0.8438 +0.6875 0.2812 0.875 +0.6875 0.2812 0.9062 +0.6875 0.2812 0.9375 +0.6875 0.2812 0.9688 +0.6875 0.2812 1 +0.6875 0.3125 0 +0.6875 0.3125 0.03125 +0.6875 0.3125 0.0625 +0.6875 0.3125 0.09375 +0.6875 0.3125 0.125 +0.6875 0.3125 0.1562 +0.6875 0.3125 0.1875 +0.6875 0.3125 0.2188 +0.6875 0.3125 0.25 +0.6875 0.3125 0.2812 +0.6875 0.3125 0.3125 +0.6875 0.3125 0.3438 +0.6875 0.3125 0.375 +0.6875 0.3125 0.4062 +0.6875 0.3125 0.4375 +0.6875 0.3125 0.4688 +0.6875 0.3125 0.5 +0.6875 0.3125 0.5312 +0.6875 0.3125 0.5625 +0.6875 0.3125 0.5938 +0.6875 0.3125 0.625 +0.6875 0.3125 0.6562 +0.6875 0.3125 0.6875 +0.6875 0.3125 0.7188 +0.6875 0.3125 0.75 +0.6875 0.3125 0.7812 +0.6875 0.3125 0.8125 +0.6875 0.3125 0.8438 +0.6875 0.3125 0.875 +0.6875 0.3125 0.9062 +0.6875 0.3125 0.9375 +0.6875 0.3125 0.9688 +0.6875 0.3125 1 +0.6875 0.3438 0 +0.6875 0.3438 0.03125 +0.6875 0.3438 0.0625 +0.6875 0.3438 0.09375 +0.6875 0.3438 0.125 +0.6875 0.3438 0.1562 +0.6875 0.3438 0.1875 +0.6875 0.3438 0.2188 +0.6875 0.3438 0.25 +0.6875 0.3438 0.2812 +0.6875 0.3438 0.3125 +0.6875 0.3438 0.3438 +0.6875 0.3438 0.375 +0.6875 0.3438 0.4062 +0.6875 0.3438 0.4375 +0.6875 0.3438 0.4688 +0.6875 0.3438 0.5 +0.6875 0.3438 0.5312 +0.6875 0.3438 0.5625 +0.6875 0.3438 0.5938 +0.6875 0.3438 0.625 +0.6875 0.3438 0.6562 +0.6875 0.3438 0.6875 +0.6875 0.3438 0.7188 +0.6875 0.3438 0.75 +0.6875 0.3438 0.7812 +0.6875 0.3438 0.8125 +0.6875 0.3438 0.8438 +0.6875 0.3438 0.875 +0.6875 0.3438 0.9062 +0.6875 0.3438 0.9375 +0.6875 0.3438 0.9688 +0.6875 0.3438 1 +0.6875 0.375 0 +0.6875 0.375 0.03125 +0.6875 0.375 0.0625 +0.6875 0.375 0.09375 +0.6875 0.375 0.125 +0.6875 0.375 0.1562 +0.6875 0.375 0.1875 +0.6875 0.375 0.2188 +0.6875 0.375 0.25 +0.6875 0.375 0.2812 +0.6875 0.375 0.3125 +0.6875 0.375 0.3438 +0.6875 0.375 0.375 +0.6875 0.375 0.4062 +0.6875 0.375 0.4375 +0.6875 0.375 0.4688 +0.6875 0.375 0.5 +0.6875 0.375 0.5312 +0.6875 0.375 0.5625 +0.6875 0.375 0.5938 +0.6875 0.375 0.625 +0.6875 0.375 0.6562 +0.6875 0.375 0.6875 +0.6875 0.375 0.7188 +0.6875 0.375 0.75 +0.6875 0.375 0.7812 +0.6875 0.375 0.8125 +0.6875 0.375 0.8438 +0.6875 0.375 0.875 +0.6875 0.375 0.9062 +0.6875 0.375 0.9375 +0.6875 0.375 0.9688 +0.6875 0.375 1 +0.6875 0.4062 0 +0.6875 0.4062 0.03125 +0.6875 0.4062 0.0625 +0.6875 0.4062 0.09375 +0.6875 0.4062 0.125 +0.6875 0.4062 0.1562 +0.6875 0.4062 0.1875 +0.6875 0.4062 0.2188 +0.6875 0.4062 0.25 +0.6875 0.4062 0.2812 +0.6875 0.4062 0.3125 +0.6875 0.4062 0.3438 +0.6875 0.4062 0.375 +0.6875 0.4062 0.4062 +0.6875 0.4062 0.4375 +0.6875 0.4062 0.4688 +0.6875 0.4062 0.5 +0.6875 0.4062 0.5312 +0.6875 0.4062 0.5625 +0.6875 0.4062 0.5938 +0.6875 0.4062 0.625 +0.6875 0.4062 0.6562 +0.6875 0.4062 0.6875 +0.6875 0.4062 0.7188 +0.6875 0.4062 0.75 +0.6875 0.4062 0.7812 +0.6875 0.4062 0.8125 +0.6875 0.4062 0.8438 +0.6875 0.4062 0.875 +0.6875 0.4062 0.9062 +0.6875 0.4062 0.9375 +0.6875 0.4062 0.9688 +0.6875 0.4062 1 +0.6875 0.4375 0 +0.6875 0.4375 0.03125 +0.6875 0.4375 0.0625 +0.6875 0.4375 0.09375 +0.6875 0.4375 0.125 +0.6875 0.4375 0.1562 +0.6875 0.4375 0.1875 +0.6875 0.4375 0.2188 +0.6875 0.4375 0.25 +0.6875 0.4375 0.2812 +0.6875 0.4375 0.3125 +0.6875 0.4375 0.3438 +0.6875 0.4375 0.375 +0.6875 0.4375 0.4062 +0.6875 0.4375 0.4375 +0.6875 0.4375 0.4688 +0.6875 0.4375 0.5 +0.6875 0.4375 0.5312 +0.6875 0.4375 0.5625 +0.6875 0.4375 0.5938 +0.6875 0.4375 0.625 +0.6875 0.4375 0.6562 +0.6875 0.4375 0.6875 +0.6875 0.4375 0.7188 +0.6875 0.4375 0.75 +0.6875 0.4375 0.7812 +0.6875 0.4375 0.8125 +0.6875 0.4375 0.8438 +0.6875 0.4375 0.875 +0.6875 0.4375 0.9062 +0.6875 0.4375 0.9375 +0.6875 0.4375 0.9688 +0.6875 0.4375 1 +0.6875 0.4688 0 +0.6875 0.4688 0.03125 +0.6875 0.4688 0.0625 +0.6875 0.4688 0.09375 +0.6875 0.4688 0.125 +0.6875 0.4688 0.1562 +0.6875 0.4688 0.1875 +0.6875 0.4688 0.2188 +0.6875 0.4688 0.25 +0.6875 0.4688 0.2812 +0.6875 0.4688 0.3125 +0.6875 0.4688 0.3438 +0.6875 0.4688 0.375 +0.6875 0.4688 0.4062 +0.6875 0.4688 0.4375 +0.6875 0.4688 0.4688 +0.6875 0.4688 0.5 +0.6875 0.4688 0.5312 +0.6875 0.4688 0.5625 +0.6875 0.4688 0.5938 +0.6875 0.4688 0.625 +0.6875 0.4688 0.6562 +0.6875 0.4688 0.6875 +0.6875 0.4688 0.7188 +0.6875 0.4688 0.75 +0.6875 0.4688 0.7812 +0.6875 0.4688 0.8125 +0.6875 0.4688 0.8438 +0.6875 0.4688 0.875 +0.6875 0.4688 0.9062 +0.6875 0.4688 0.9375 +0.6875 0.4688 0.9688 +0.6875 0.4688 1 +0.6875 0.5 0 +0.6875 0.5 0.03125 +0.6875 0.5 0.0625 +0.6875 0.5 0.09375 +0.6875 0.5 0.125 +0.6875 0.5 0.1562 +0.6875 0.5 0.1875 +0.6875 0.5 0.2188 +0.6875 0.5 0.25 +0.6875 0.5 0.2812 +0.6875 0.5 0.3125 +0.6875 0.5 0.3438 +0.6875 0.5 0.375 +0.6875 0.5 0.4062 +0.6875 0.5 0.4375 +0.6875 0.5 0.4688 +0.6875 0.5 0.5 +0.6875 0.5 0.5312 +0.6875 0.5 0.5625 +0.6875 0.5 0.5938 +0.6875 0.5 0.625 +0.6875 0.5 0.6562 +0.6875 0.5 0.6875 +0.6875 0.5 0.7188 +0.6875 0.5 0.75 +0.6875 0.5 0.7812 +0.6875 0.5 0.8125 +0.6875 0.5 0.8438 +0.6875 0.5 0.875 +0.6875 0.5 0.9062 +0.6875 0.5 0.9375 +0.6875 0.5 0.9688 +0.6875 0.5 1 +0.6875 0.5312 0 +0.6875 0.5312 0.03125 +0.6875 0.5312 0.0625 +0.6875 0.5312 0.09375 +0.6875 0.5312 0.125 +0.6875 0.5312 0.1562 +0.6875 0.5312 0.1875 +0.6875 0.5312 0.2188 +0.6875 0.5312 0.25 +0.6875 0.5312 0.2812 +0.6875 0.5312 0.3125 +0.6875 0.5312 0.3438 +0.6875 0.5312 0.375 +0.6875 0.5312 0.4062 +0.6875 0.5312 0.4375 +0.6875 0.5312 0.4688 +0.6875 0.5312 0.5 +0.6875 0.5312 0.5312 +0.6875 0.5312 0.5625 +0.6875 0.5312 0.5938 +0.6875 0.5312 0.625 +0.6875 0.5312 0.6562 +0.6875 0.5312 0.6875 +0.6875 0.5312 0.7188 +0.6875 0.5312 0.75 +0.6875 0.5312 0.7812 +0.6875 0.5312 0.8125 +0.6875 0.5312 0.8438 +0.6875 0.5312 0.875 +0.6875 0.5312 0.9062 +0.6875 0.5312 0.9375 +0.6875 0.5312 0.9688 +0.6875 0.5312 1 +0.6875 0.5625 0 +0.6875 0.5625 0.03125 +0.6875 0.5625 0.0625 +0.6875 0.5625 0.09375 +0.6875 0.5625 0.125 +0.6875 0.5625 0.1562 +0.6875 0.5625 0.1875 +0.6875 0.5625 0.2188 +0.6875 0.5625 0.25 +0.6875 0.5625 0.2812 +0.6875 0.5625 0.3125 +0.6875 0.5625 0.3438 +0.6875 0.5625 0.375 +0.6875 0.5625 0.4062 +0.6875 0.5625 0.4375 +0.6875 0.5625 0.4688 +0.6875 0.5625 0.5 +0.6875 0.5625 0.5312 +0.6875 0.5625 0.5625 +0.6875 0.5625 0.5938 +0.6875 0.5625 0.625 +0.6875 0.5625 0.6562 +0.6875 0.5625 0.6875 +0.6875 0.5625 0.7188 +0.6875 0.5625 0.75 +0.6875 0.5625 0.7812 +0.6875 0.5625 0.8125 +0.6875 0.5625 0.8438 +0.6875 0.5625 0.875 +0.6875 0.5625 0.9062 +0.6875 0.5625 0.9375 +0.6875 0.5625 0.9688 +0.6875 0.5625 1 +0.6875 0.5938 0 +0.6875 0.5938 0.03125 +0.6875 0.5938 0.0625 +0.6875 0.5938 0.09375 +0.6875 0.5938 0.125 +0.6875 0.5938 0.1562 +0.6875 0.5938 0.1875 +0.6875 0.5938 0.2188 +0.6875 0.5938 0.25 +0.6875 0.5938 0.2812 +0.6875 0.5938 0.3125 +0.6875 0.5938 0.3438 +0.6875 0.5938 0.375 +0.6875 0.5938 0.4062 +0.6875 0.5938 0.4375 +0.6875 0.5938 0.4688 +0.6875 0.5938 0.5 +0.6875 0.5938 0.5312 +0.6875 0.5938 0.5625 +0.6875 0.5938 0.5938 +0.6875 0.5938 0.625 +0.6875 0.5938 0.6562 +0.6875 0.5938 0.6875 +0.6875 0.5938 0.7188 +0.6875 0.5938 0.75 +0.6875 0.5938 0.7812 +0.6875 0.5938 0.8125 +0.6875 0.5938 0.8438 +0.6875 0.5938 0.875 +0.6875 0.5938 0.9062 +0.6875 0.5938 0.9375 +0.6875 0.5938 0.9688 +0.6875 0.5938 1 +0.6875 0.625 0 +0.6875 0.625 0.03125 +0.6875 0.625 0.0625 +0.6875 0.625 0.09375 +0.6875 0.625 0.125 +0.6875 0.625 0.1562 +0.6875 0.625 0.1875 +0.6875 0.625 0.2188 +0.6875 0.625 0.25 +0.6875 0.625 0.2812 +0.6875 0.625 0.3125 +0.6875 0.625 0.3438 +0.6875 0.625 0.375 +0.6875 0.625 0.4062 +0.6875 0.625 0.4375 +0.6875 0.625 0.4688 +0.6875 0.625 0.5 +0.6875 0.625 0.5312 +0.6875 0.625 0.5625 +0.6875 0.625 0.5938 +0.6875 0.625 0.625 +0.6875 0.625 0.6562 +0.6875 0.625 0.6875 +0.6875 0.625 0.7188 +0.6875 0.625 0.75 +0.6875 0.625 0.7812 +0.6875 0.625 0.8125 +0.6875 0.625 0.8438 +0.6875 0.625 0.875 +0.6875 0.625 0.9062 +0.6875 0.625 0.9375 +0.6875 0.625 0.9688 +0.6875 0.625 1 +0.6875 0.6562 0 +0.6875 0.6562 0.03125 +0.6875 0.6562 0.0625 +0.6875 0.6562 0.09375 +0.6875 0.6562 0.125 +0.6875 0.6562 0.1562 +0.6875 0.6562 0.1875 +0.6875 0.6562 0.2188 +0.6875 0.6562 0.25 +0.6875 0.6562 0.2812 +0.6875 0.6562 0.3125 +0.6875 0.6562 0.3438 +0.6875 0.6562 0.375 +0.6875 0.6562 0.4062 +0.6875 0.6562 0.4375 +0.6875 0.6562 0.4688 +0.6875 0.6562 0.5 +0.6875 0.6562 0.5312 +0.6875 0.6562 0.5625 +0.6875 0.6562 0.5938 +0.6875 0.6562 0.625 +0.6875 0.6562 0.6562 +0.6875 0.6562 0.6875 +0.6875 0.6562 0.7188 +0.6875 0.6562 0.75 +0.6875 0.6562 0.7812 +0.6875 0.6562 0.8125 +0.6875 0.6562 0.8438 +0.6875 0.6562 0.875 +0.6875 0.6562 0.9062 +0.6875 0.6562 0.9375 +0.6875 0.6562 0.9688 +0.6875 0.6562 1 +0.6875 0.6875 0 +0.6875 0.6875 0.03125 +0.6875 0.6875 0.0625 +0.6875 0.6875 0.09375 +0.6875 0.6875 0.125 +0.6875 0.6875 0.1562 +0.6875 0.6875 0.1875 +0.6875 0.6875 0.2188 +0.6875 0.6875 0.25 +0.6875 0.6875 0.2812 +0.6875 0.6875 0.3125 +0.6875 0.6875 0.3438 +0.6875 0.6875 0.375 +0.6875 0.6875 0.4062 +0.6875 0.6875 0.4375 +0.6875 0.6875 0.4688 +0.6875 0.6875 0.5 +0.6875 0.6875 0.5312 +0.6875 0.6875 0.5625 +0.6875 0.6875 0.5938 +0.6875 0.6875 0.625 +0.6875 0.6875 0.6562 +0.6875 0.6875 0.6875 +0.6875 0.6875 0.7188 +0.6875 0.6875 0.75 +0.6875 0.6875 0.7812 +0.6875 0.6875 0.8125 +0.6875 0.6875 0.8438 +0.6875 0.6875 0.875 +0.6875 0.6875 0.9062 +0.6875 0.6875 0.9375 +0.6875 0.6875 0.9688 +0.6875 0.6875 1 +0.6875 0.7188 0 +0.6875 0.7188 0.03125 +0.6875 0.7188 0.0625 +0.6875 0.7188 0.09375 +0.6875 0.7188 0.125 +0.6875 0.7188 0.1562 +0.6875 0.7188 0.1875 +0.6875 0.7188 0.2188 +0.6875 0.7188 0.25 +0.6875 0.7188 0.2812 +0.6875 0.7188 0.3125 +0.6875 0.7188 0.3438 +0.6875 0.7188 0.375 +0.6875 0.7188 0.4062 +0.6875 0.7188 0.4375 +0.6875 0.7188 0.4688 +0.6875 0.7188 0.5 +0.6875 0.7188 0.5312 +0.6875 0.7188 0.5625 +0.6875 0.7188 0.5938 +0.6875 0.7188 0.625 +0.6875 0.7188 0.6562 +0.6875 0.7188 0.6875 +0.6875 0.7188 0.7188 +0.6875 0.7188 0.75 +0.6875 0.7188 0.7812 +0.6875 0.7188 0.8125 +0.6875 0.7188 0.8438 +0.6875 0.7188 0.875 +0.6875 0.7188 0.9062 +0.6875 0.7188 0.9375 +0.6875 0.7188 0.9688 +0.6875 0.7188 1 +0.6875 0.75 0 +0.6875 0.75 0.03125 +0.6875 0.75 0.0625 +0.6875 0.75 0.09375 +0.6875 0.75 0.125 +0.6875 0.75 0.1562 +0.6875 0.75 0.1875 +0.6875 0.75 0.2188 +0.6875 0.75 0.25 +0.6875 0.75 0.2812 +0.6875 0.75 0.3125 +0.6875 0.75 0.3438 +0.6875 0.75 0.375 +0.6875 0.75 0.4062 +0.6875 0.75 0.4375 +0.6875 0.75 0.4688 +0.6875 0.75 0.5 +0.6875 0.75 0.5312 +0.6875 0.75 0.5625 +0.6875 0.75 0.5938 +0.6875 0.75 0.625 +0.6875 0.75 0.6562 +0.6875 0.75 0.6875 +0.6875 0.75 0.7188 +0.6875 0.75 0.75 +0.6875 0.75 0.7812 +0.6875 0.75 0.8125 +0.6875 0.75 0.8438 +0.6875 0.75 0.875 +0.6875 0.75 0.9062 +0.6875 0.75 0.9375 +0.6875 0.75 0.9688 +0.6875 0.75 1 +0.6875 0.7812 0 +0.6875 0.7812 0.03125 +0.6875 0.7812 0.0625 +0.6875 0.7812 0.09375 +0.6875 0.7812 0.125 +0.6875 0.7812 0.1562 +0.6875 0.7812 0.1875 +0.6875 0.7812 0.2188 +0.6875 0.7812 0.25 +0.6875 0.7812 0.2812 +0.6875 0.7812 0.3125 +0.6875 0.7812 0.3438 +0.6875 0.7812 0.375 +0.6875 0.7812 0.4062 +0.6875 0.7812 0.4375 +0.6875 0.7812 0.4688 +0.6875 0.7812 0.5 +0.6875 0.7812 0.5312 +0.6875 0.7812 0.5625 +0.6875 0.7812 0.5938 +0.6875 0.7812 0.625 +0.6875 0.7812 0.6562 +0.6875 0.7812 0.6875 +0.6875 0.7812 0.7188 +0.6875 0.7812 0.75 +0.6875 0.7812 0.7812 +0.6875 0.7812 0.8125 +0.6875 0.7812 0.8438 +0.6875 0.7812 0.875 +0.6875 0.7812 0.9062 +0.6875 0.7812 0.9375 +0.6875 0.7812 0.9688 +0.6875 0.7812 1 +0.6875 0.8125 0 +0.6875 0.8125 0.03125 +0.6875 0.8125 0.0625 +0.6875 0.8125 0.09375 +0.6875 0.8125 0.125 +0.6875 0.8125 0.1562 +0.6875 0.8125 0.1875 +0.6875 0.8125 0.2188 +0.6875 0.8125 0.25 +0.6875 0.8125 0.2812 +0.6875 0.8125 0.3125 +0.6875 0.8125 0.3438 +0.6875 0.8125 0.375 +0.6875 0.8125 0.4062 +0.6875 0.8125 0.4375 +0.6875 0.8125 0.4688 +0.6875 0.8125 0.5 +0.6875 0.8125 0.5312 +0.6875 0.8125 0.5625 +0.6875 0.8125 0.5938 +0.6875 0.8125 0.625 +0.6875 0.8125 0.6562 +0.6875 0.8125 0.6875 +0.6875 0.8125 0.7188 +0.6875 0.8125 0.75 +0.6875 0.8125 0.7812 +0.6875 0.8125 0.8125 +0.6875 0.8125 0.8438 +0.6875 0.8125 0.875 +0.6875 0.8125 0.9062 +0.6875 0.8125 0.9375 +0.6875 0.8125 0.9688 +0.6875 0.8125 1 +0.6875 0.8438 0 +0.6875 0.8438 0.03125 +0.6875 0.8438 0.0625 +0.6875 0.8438 0.09375 +0.6875 0.8438 0.125 +0.6875 0.8438 0.1562 +0.6875 0.8438 0.1875 +0.6875 0.8438 0.2188 +0.6875 0.8438 0.25 +0.6875 0.8438 0.2812 +0.6875 0.8438 0.3125 +0.6875 0.8438 0.3438 +0.6875 0.8438 0.375 +0.6875 0.8438 0.4062 +0.6875 0.8438 0.4375 +0.6875 0.8438 0.4688 +0.6875 0.8438 0.5 +0.6875 0.8438 0.5312 +0.6875 0.8438 0.5625 +0.6875 0.8438 0.5938 +0.6875 0.8438 0.625 +0.6875 0.8438 0.6562 +0.6875 0.8438 0.6875 +0.6875 0.8438 0.7188 +0.6875 0.8438 0.75 +0.6875 0.8438 0.7812 +0.6875 0.8438 0.8125 +0.6875 0.8438 0.8438 +0.6875 0.8438 0.875 +0.6875 0.8438 0.9062 +0.6875 0.8438 0.9375 +0.6875 0.8438 0.9688 +0.6875 0.8438 1 +0.6875 0.875 0 +0.6875 0.875 0.03125 +0.6875 0.875 0.0625 +0.6875 0.875 0.09375 +0.6875 0.875 0.125 +0.6875 0.875 0.1562 +0.6875 0.875 0.1875 +0.6875 0.875 0.2188 +0.6875 0.875 0.25 +0.6875 0.875 0.2812 +0.6875 0.875 0.3125 +0.6875 0.875 0.3438 +0.6875 0.875 0.375 +0.6875 0.875 0.4062 +0.6875 0.875 0.4375 +0.6875 0.875 0.4688 +0.6875 0.875 0.5 +0.6875 0.875 0.5312 +0.6875 0.875 0.5625 +0.6875 0.875 0.5938 +0.6875 0.875 0.625 +0.6875 0.875 0.6562 +0.6875 0.875 0.6875 +0.6875 0.875 0.7188 +0.6875 0.875 0.75 +0.6875 0.875 0.7812 +0.6875 0.875 0.8125 +0.6875 0.875 0.8438 +0.6875 0.875 0.875 +0.6875 0.875 0.9062 +0.6875 0.875 0.9375 +0.6875 0.875 0.9688 +0.6875 0.875 1 +0.6875 0.9062 0 +0.6875 0.9062 0.03125 +0.6875 0.9062 0.0625 +0.6875 0.9062 0.09375 +0.6875 0.9062 0.125 +0.6875 0.9062 0.1562 +0.6875 0.9062 0.1875 +0.6875 0.9062 0.2188 +0.6875 0.9062 0.25 +0.6875 0.9062 0.2812 +0.6875 0.9062 0.3125 +0.6875 0.9062 0.3438 +0.6875 0.9062 0.375 +0.6875 0.9062 0.4062 +0.6875 0.9062 0.4375 +0.6875 0.9062 0.4688 +0.6875 0.9062 0.5 +0.6875 0.9062 0.5312 +0.6875 0.9062 0.5625 +0.6875 0.9062 0.5938 +0.6875 0.9062 0.625 +0.6875 0.9062 0.6562 +0.6875 0.9062 0.6875 +0.6875 0.9062 0.7188 +0.6875 0.9062 0.75 +0.6875 0.9062 0.7812 +0.6875 0.9062 0.8125 +0.6875 0.9062 0.8438 +0.6875 0.9062 0.875 +0.6875 0.9062 0.9062 +0.6875 0.9062 0.9375 +0.6875 0.9062 0.9688 +0.6875 0.9062 1 +0.6875 0.9375 0 +0.6875 0.9375 0.03125 +0.6875 0.9375 0.0625 +0.6875 0.9375 0.09375 +0.6875 0.9375 0.125 +0.6875 0.9375 0.1562 +0.6875 0.9375 0.1875 +0.6875 0.9375 0.2188 +0.6875 0.9375 0.25 +0.6875 0.9375 0.2812 +0.6875 0.9375 0.3125 +0.6875 0.9375 0.3438 +0.6875 0.9375 0.375 +0.6875 0.9375 0.4062 +0.6875 0.9375 0.4375 +0.6875 0.9375 0.4688 +0.6875 0.9375 0.5 +0.6875 0.9375 0.5312 +0.6875 0.9375 0.5625 +0.6875 0.9375 0.5938 +0.6875 0.9375 0.625 +0.6875 0.9375 0.6562 +0.6875 0.9375 0.6875 +0.6875 0.9375 0.7188 +0.6875 0.9375 0.75 +0.6875 0.9375 0.7812 +0.6875 0.9375 0.8125 +0.6875 0.9375 0.8438 +0.6875 0.9375 0.875 +0.6875 0.9375 0.9062 +0.6875 0.9375 0.9375 +0.6875 0.9375 0.9688 +0.6875 0.9375 1 +0.6875 0.9688 0 +0.6875 0.9688 0.03125 +0.6875 0.9688 0.0625 +0.6875 0.9688 0.09375 +0.6875 0.9688 0.125 +0.6875 0.9688 0.1562 +0.6875 0.9688 0.1875 +0.6875 0.9688 0.2188 +0.6875 0.9688 0.25 +0.6875 0.9688 0.2812 +0.6875 0.9688 0.3125 +0.6875 0.9688 0.3438 +0.6875 0.9688 0.375 +0.6875 0.9688 0.4062 +0.6875 0.9688 0.4375 +0.6875 0.9688 0.4688 +0.6875 0.9688 0.5 +0.6875 0.9688 0.5312 +0.6875 0.9688 0.5625 +0.6875 0.9688 0.5938 +0.6875 0.9688 0.625 +0.6875 0.9688 0.6562 +0.6875 0.9688 0.6875 +0.6875 0.9688 0.7188 +0.6875 0.9688 0.75 +0.6875 0.9688 0.7812 +0.6875 0.9688 0.8125 +0.6875 0.9688 0.8438 +0.6875 0.9688 0.875 +0.6875 0.9688 0.9062 +0.6875 0.9688 0.9375 +0.6875 0.9688 0.9688 +0.6875 0.9688 1 +0.6875 1 0 +0.6875 1 0.03125 +0.6875 1 0.0625 +0.6875 1 0.09375 +0.6875 1 0.125 +0.6875 1 0.1562 +0.6875 1 0.1875 +0.6875 1 0.2188 +0.6875 1 0.25 +0.6875 1 0.2812 +0.6875 1 0.3125 +0.6875 1 0.3438 +0.6875 1 0.375 +0.6875 1 0.4062 +0.6875 1 0.4375 +0.6875 1 0.4688 +0.6875 1 0.5 +0.6875 1 0.5312 +0.6875 1 0.5625 +0.6875 1 0.5938 +0.6875 1 0.625 +0.6875 1 0.6562 +0.6875 1 0.6875 +0.6875 1 0.7188 +0.6875 1 0.75 +0.6875 1 0.7812 +0.6875 1 0.8125 +0.6875 1 0.8438 +0.6875 1 0.875 +0.6875 1 0.9062 +0.6875 1 0.9375 +0.6875 1 0.9688 +0.6875 1 1 +0.7188 0 0 +0.7188 0 0.03125 +0.7188 0 0.0625 +0.7188 0 0.09375 +0.7188 0 0.125 +0.7188 0 0.1562 +0.7188 0 0.1875 +0.7188 0 0.2188 +0.7188 0 0.25 +0.7188 0 0.2812 +0.7188 0 0.3125 +0.7188 0 0.3438 +0.7188 0 0.375 +0.7188 0 0.4062 +0.7188 0 0.4375 +0.7188 0 0.4688 +0.7188 0 0.5 +0.7188 0 0.5312 +0.7188 0 0.5625 +0.7188 0 0.5938 +0.7188 0 0.625 +0.7188 0 0.6562 +0.7188 0 0.6875 +0.7188 0 0.7188 +0.7188 0 0.75 +0.7188 0 0.7812 +0.7188 0 0.8125 +0.7188 0 0.8438 +0.7188 0 0.875 +0.7188 0 0.9062 +0.7188 0 0.9375 +0.7188 0 0.9688 +0.7188 0 1 +0.7188 0.03125 0 +0.7188 0.03125 0.03125 +0.7188 0.03125 0.0625 +0.7188 0.03125 0.09375 +0.7188 0.03125 0.125 +0.7188 0.03125 0.1562 +0.7188 0.03125 0.1875 +0.7188 0.03125 0.2188 +0.7188 0.03125 0.25 +0.7188 0.03125 0.2812 +0.7188 0.03125 0.3125 +0.7188 0.03125 0.3438 +0.7188 0.03125 0.375 +0.7188 0.03125 0.4062 +0.7188 0.03125 0.4375 +0.7188 0.03125 0.4688 +0.7188 0.03125 0.5 +0.7188 0.03125 0.5312 +0.7188 0.03125 0.5625 +0.7188 0.03125 0.5938 +0.7188 0.03125 0.625 +0.7188 0.03125 0.6562 +0.7188 0.03125 0.6875 +0.7188 0.03125 0.7188 +0.7188 0.03125 0.75 +0.7188 0.03125 0.7812 +0.7188 0.03125 0.8125 +0.7188 0.03125 0.8438 +0.7188 0.03125 0.875 +0.7188 0.03125 0.9062 +0.7188 0.03125 0.9375 +0.7188 0.03125 0.9688 +0.7188 0.03125 1 +0.7188 0.0625 0 +0.7188 0.0625 0.03125 +0.7188 0.0625 0.0625 +0.7188 0.0625 0.09375 +0.7188 0.0625 0.125 +0.7188 0.0625 0.1562 +0.7188 0.0625 0.1875 +0.7188 0.0625 0.2188 +0.7188 0.0625 0.25 +0.7188 0.0625 0.2812 +0.7188 0.0625 0.3125 +0.7188 0.0625 0.3438 +0.7188 0.0625 0.375 +0.7188 0.0625 0.4062 +0.7188 0.0625 0.4375 +0.7188 0.0625 0.4688 +0.7188 0.0625 0.5 +0.7188 0.0625 0.5312 +0.7188 0.0625 0.5625 +0.7188 0.0625 0.5938 +0.7188 0.0625 0.625 +0.7188 0.0625 0.6562 +0.7188 0.0625 0.6875 +0.7188 0.0625 0.7188 +0.7188 0.0625 0.75 +0.7188 0.0625 0.7812 +0.7188 0.0625 0.8125 +0.7188 0.0625 0.8438 +0.7188 0.0625 0.875 +0.7188 0.0625 0.9062 +0.7188 0.0625 0.9375 +0.7188 0.0625 0.9688 +0.7188 0.0625 1 +0.7188 0.09375 0 +0.7188 0.09375 0.03125 +0.7188 0.09375 0.0625 +0.7188 0.09375 0.09375 +0.7188 0.09375 0.125 +0.7188 0.09375 0.1562 +0.7188 0.09375 0.1875 +0.7188 0.09375 0.2188 +0.7188 0.09375 0.25 +0.7188 0.09375 0.2812 +0.7188 0.09375 0.3125 +0.7188 0.09375 0.3438 +0.7188 0.09375 0.375 +0.7188 0.09375 0.4062 +0.7188 0.09375 0.4375 +0.7188 0.09375 0.4688 +0.7188 0.09375 0.5 +0.7188 0.09375 0.5312 +0.7188 0.09375 0.5625 +0.7188 0.09375 0.5938 +0.7188 0.09375 0.625 +0.7188 0.09375 0.6562 +0.7188 0.09375 0.6875 +0.7188 0.09375 0.7188 +0.7188 0.09375 0.75 +0.7188 0.09375 0.7812 +0.7188 0.09375 0.8125 +0.7188 0.09375 0.8438 +0.7188 0.09375 0.875 +0.7188 0.09375 0.9062 +0.7188 0.09375 0.9375 +0.7188 0.09375 0.9688 +0.7188 0.09375 1 +0.7188 0.125 0 +0.7188 0.125 0.03125 +0.7188 0.125 0.0625 +0.7188 0.125 0.09375 +0.7188 0.125 0.125 +0.7188 0.125 0.1562 +0.7188 0.125 0.1875 +0.7188 0.125 0.2188 +0.7188 0.125 0.25 +0.7188 0.125 0.2812 +0.7188 0.125 0.3125 +0.7188 0.125 0.3438 +0.7188 0.125 0.375 +0.7188 0.125 0.4062 +0.7188 0.125 0.4375 +0.7188 0.125 0.4688 +0.7188 0.125 0.5 +0.7188 0.125 0.5312 +0.7188 0.125 0.5625 +0.7188 0.125 0.5938 +0.7188 0.125 0.625 +0.7188 0.125 0.6562 +0.7188 0.125 0.6875 +0.7188 0.125 0.7188 +0.7188 0.125 0.75 +0.7188 0.125 0.7812 +0.7188 0.125 0.8125 +0.7188 0.125 0.8438 +0.7188 0.125 0.875 +0.7188 0.125 0.9062 +0.7188 0.125 0.9375 +0.7188 0.125 0.9688 +0.7188 0.125 1 +0.7188 0.1562 0 +0.7188 0.1562 0.03125 +0.7188 0.1562 0.0625 +0.7188 0.1562 0.09375 +0.7188 0.1562 0.125 +0.7188 0.1562 0.1562 +0.7188 0.1562 0.1875 +0.7188 0.1562 0.2188 +0.7188 0.1562 0.25 +0.7188 0.1562 0.2812 +0.7188 0.1562 0.3125 +0.7188 0.1562 0.3438 +0.7188 0.1562 0.375 +0.7188 0.1562 0.4062 +0.7188 0.1562 0.4375 +0.7188 0.1562 0.4688 +0.7188 0.1562 0.5 +0.7188 0.1562 0.5312 +0.7188 0.1562 0.5625 +0.7188 0.1562 0.5938 +0.7188 0.1562 0.625 +0.7188 0.1562 0.6562 +0.7188 0.1562 0.6875 +0.7188 0.1562 0.7188 +0.7188 0.1562 0.75 +0.7188 0.1562 0.7812 +0.7188 0.1562 0.8125 +0.7188 0.1562 0.8438 +0.7188 0.1562 0.875 +0.7188 0.1562 0.9062 +0.7188 0.1562 0.9375 +0.7188 0.1562 0.9688 +0.7188 0.1562 1 +0.7188 0.1875 0 +0.7188 0.1875 0.03125 +0.7188 0.1875 0.0625 +0.7188 0.1875 0.09375 +0.7188 0.1875 0.125 +0.7188 0.1875 0.1562 +0.7188 0.1875 0.1875 +0.7188 0.1875 0.2188 +0.7188 0.1875 0.25 +0.7188 0.1875 0.2812 +0.7188 0.1875 0.3125 +0.7188 0.1875 0.3438 +0.7188 0.1875 0.375 +0.7188 0.1875 0.4062 +0.7188 0.1875 0.4375 +0.7188 0.1875 0.4688 +0.7188 0.1875 0.5 +0.7188 0.1875 0.5312 +0.7188 0.1875 0.5625 +0.7188 0.1875 0.5938 +0.7188 0.1875 0.625 +0.7188 0.1875 0.6562 +0.7188 0.1875 0.6875 +0.7188 0.1875 0.7188 +0.7188 0.1875 0.75 +0.7188 0.1875 0.7812 +0.7188 0.1875 0.8125 +0.7188 0.1875 0.8438 +0.7188 0.1875 0.875 +0.7188 0.1875 0.9062 +0.7188 0.1875 0.9375 +0.7188 0.1875 0.9688 +0.7188 0.1875 1 +0.7188 0.2188 0 +0.7188 0.2188 0.03125 +0.7188 0.2188 0.0625 +0.7188 0.2188 0.09375 +0.7188 0.2188 0.125 +0.7188 0.2188 0.1562 +0.7188 0.2188 0.1875 +0.7188 0.2188 0.2188 +0.7188 0.2188 0.25 +0.7188 0.2188 0.2812 +0.7188 0.2188 0.3125 +0.7188 0.2188 0.3438 +0.7188 0.2188 0.375 +0.7188 0.2188 0.4062 +0.7188 0.2188 0.4375 +0.7188 0.2188 0.4688 +0.7188 0.2188 0.5 +0.7188 0.2188 0.5312 +0.7188 0.2188 0.5625 +0.7188 0.2188 0.5938 +0.7188 0.2188 0.625 +0.7188 0.2188 0.6562 +0.7188 0.2188 0.6875 +0.7188 0.2188 0.7188 +0.7188 0.2188 0.75 +0.7188 0.2188 0.7812 +0.7188 0.2188 0.8125 +0.7188 0.2188 0.8438 +0.7188 0.2188 0.875 +0.7188 0.2188 0.9062 +0.7188 0.2188 0.9375 +0.7188 0.2188 0.9688 +0.7188 0.2188 1 +0.7188 0.25 0 +0.7188 0.25 0.03125 +0.7188 0.25 0.0625 +0.7188 0.25 0.09375 +0.7188 0.25 0.125 +0.7188 0.25 0.1562 +0.7188 0.25 0.1875 +0.7188 0.25 0.2188 +0.7188 0.25 0.25 +0.7188 0.25 0.2812 +0.7188 0.25 0.3125 +0.7188 0.25 0.3438 +0.7188 0.25 0.375 +0.7188 0.25 0.4062 +0.7188 0.25 0.4375 +0.7188 0.25 0.4688 +0.7188 0.25 0.5 +0.7188 0.25 0.5312 +0.7188 0.25 0.5625 +0.7188 0.25 0.5938 +0.7188 0.25 0.625 +0.7188 0.25 0.6562 +0.7188 0.25 0.6875 +0.7188 0.25 0.7188 +0.7188 0.25 0.75 +0.7188 0.25 0.7812 +0.7188 0.25 0.8125 +0.7188 0.25 0.8438 +0.7188 0.25 0.875 +0.7188 0.25 0.9062 +0.7188 0.25 0.9375 +0.7188 0.25 0.9688 +0.7188 0.25 1 +0.7188 0.2812 0 +0.7188 0.2812 0.03125 +0.7188 0.2812 0.0625 +0.7188 0.2812 0.09375 +0.7188 0.2812 0.125 +0.7188 0.2812 0.1562 +0.7188 0.2812 0.1875 +0.7188 0.2812 0.2188 +0.7188 0.2812 0.25 +0.7188 0.2812 0.2812 +0.7188 0.2812 0.3125 +0.7188 0.2812 0.3438 +0.7188 0.2812 0.375 +0.7188 0.2812 0.4062 +0.7188 0.2812 0.4375 +0.7188 0.2812 0.4688 +0.7188 0.2812 0.5 +0.7188 0.2812 0.5312 +0.7188 0.2812 0.5625 +0.7188 0.2812 0.5938 +0.7188 0.2812 0.625 +0.7188 0.2812 0.6562 +0.7188 0.2812 0.6875 +0.7188 0.2812 0.7188 +0.7188 0.2812 0.75 +0.7188 0.2812 0.7812 +0.7188 0.2812 0.8125 +0.7188 0.2812 0.8438 +0.7188 0.2812 0.875 +0.7188 0.2812 0.9062 +0.7188 0.2812 0.9375 +0.7188 0.2812 0.9688 +0.7188 0.2812 1 +0.7188 0.3125 0 +0.7188 0.3125 0.03125 +0.7188 0.3125 0.0625 +0.7188 0.3125 0.09375 +0.7188 0.3125 0.125 +0.7188 0.3125 0.1562 +0.7188 0.3125 0.1875 +0.7188 0.3125 0.2188 +0.7188 0.3125 0.25 +0.7188 0.3125 0.2812 +0.7188 0.3125 0.3125 +0.7188 0.3125 0.3438 +0.7188 0.3125 0.375 +0.7188 0.3125 0.4062 +0.7188 0.3125 0.4375 +0.7188 0.3125 0.4688 +0.7188 0.3125 0.5 +0.7188 0.3125 0.5312 +0.7188 0.3125 0.5625 +0.7188 0.3125 0.5938 +0.7188 0.3125 0.625 +0.7188 0.3125 0.6562 +0.7188 0.3125 0.6875 +0.7188 0.3125 0.7188 +0.7188 0.3125 0.75 +0.7188 0.3125 0.7812 +0.7188 0.3125 0.8125 +0.7188 0.3125 0.8438 +0.7188 0.3125 0.875 +0.7188 0.3125 0.9062 +0.7188 0.3125 0.9375 +0.7188 0.3125 0.9688 +0.7188 0.3125 1 +0.7188 0.3438 0 +0.7188 0.3438 0.03125 +0.7188 0.3438 0.0625 +0.7188 0.3438 0.09375 +0.7188 0.3438 0.125 +0.7188 0.3438 0.1562 +0.7188 0.3438 0.1875 +0.7188 0.3438 0.2188 +0.7188 0.3438 0.25 +0.7188 0.3438 0.2812 +0.7188 0.3438 0.3125 +0.7188 0.3438 0.3438 +0.7188 0.3438 0.375 +0.7188 0.3438 0.4062 +0.7188 0.3438 0.4375 +0.7188 0.3438 0.4688 +0.7188 0.3438 0.5 +0.7188 0.3438 0.5312 +0.7188 0.3438 0.5625 +0.7188 0.3438 0.5938 +0.7188 0.3438 0.625 +0.7188 0.3438 0.6562 +0.7188 0.3438 0.6875 +0.7188 0.3438 0.7188 +0.7188 0.3438 0.75 +0.7188 0.3438 0.7812 +0.7188 0.3438 0.8125 +0.7188 0.3438 0.8438 +0.7188 0.3438 0.875 +0.7188 0.3438 0.9062 +0.7188 0.3438 0.9375 +0.7188 0.3438 0.9688 +0.7188 0.3438 1 +0.7188 0.375 0 +0.7188 0.375 0.03125 +0.7188 0.375 0.0625 +0.7188 0.375 0.09375 +0.7188 0.375 0.125 +0.7188 0.375 0.1562 +0.7188 0.375 0.1875 +0.7188 0.375 0.2188 +0.7188 0.375 0.25 +0.7188 0.375 0.2812 +0.7188 0.375 0.3125 +0.7188 0.375 0.3438 +0.7188 0.375 0.375 +0.7188 0.375 0.4062 +0.7188 0.375 0.4375 +0.7188 0.375 0.4688 +0.7188 0.375 0.5 +0.7188 0.375 0.5312 +0.7188 0.375 0.5625 +0.7188 0.375 0.5938 +0.7188 0.375 0.625 +0.7188 0.375 0.6562 +0.7188 0.375 0.6875 +0.7188 0.375 0.7188 +0.7188 0.375 0.75 +0.7188 0.375 0.7812 +0.7188 0.375 0.8125 +0.7188 0.375 0.8438 +0.7188 0.375 0.875 +0.7188 0.375 0.9062 +0.7188 0.375 0.9375 +0.7188 0.375 0.9688 +0.7188 0.375 1 +0.7188 0.4062 0 +0.7188 0.4062 0.03125 +0.7188 0.4062 0.0625 +0.7188 0.4062 0.09375 +0.7188 0.4062 0.125 +0.7188 0.4062 0.1562 +0.7188 0.4062 0.1875 +0.7188 0.4062 0.2188 +0.7188 0.4062 0.25 +0.7188 0.4062 0.2812 +0.7188 0.4062 0.3125 +0.7188 0.4062 0.3438 +0.7188 0.4062 0.375 +0.7188 0.4062 0.4062 +0.7188 0.4062 0.4375 +0.7188 0.4062 0.4688 +0.7188 0.4062 0.5 +0.7188 0.4062 0.5312 +0.7188 0.4062 0.5625 +0.7188 0.4062 0.5938 +0.7188 0.4062 0.625 +0.7188 0.4062 0.6562 +0.7188 0.4062 0.6875 +0.7188 0.4062 0.7188 +0.7188 0.4062 0.75 +0.7188 0.4062 0.7812 +0.7188 0.4062 0.8125 +0.7188 0.4062 0.8438 +0.7188 0.4062 0.875 +0.7188 0.4062 0.9062 +0.7188 0.4062 0.9375 +0.7188 0.4062 0.9688 +0.7188 0.4062 1 +0.7188 0.4375 0 +0.7188 0.4375 0.03125 +0.7188 0.4375 0.0625 +0.7188 0.4375 0.09375 +0.7188 0.4375 0.125 +0.7188 0.4375 0.1562 +0.7188 0.4375 0.1875 +0.7188 0.4375 0.2188 +0.7188 0.4375 0.25 +0.7188 0.4375 0.2812 +0.7188 0.4375 0.3125 +0.7188 0.4375 0.3438 +0.7188 0.4375 0.375 +0.7188 0.4375 0.4062 +0.7188 0.4375 0.4375 +0.7188 0.4375 0.4688 +0.7188 0.4375 0.5 +0.7188 0.4375 0.5312 +0.7188 0.4375 0.5625 +0.7188 0.4375 0.5938 +0.7188 0.4375 0.625 +0.7188 0.4375 0.6562 +0.7188 0.4375 0.6875 +0.7188 0.4375 0.7188 +0.7188 0.4375 0.75 +0.7188 0.4375 0.7812 +0.7188 0.4375 0.8125 +0.7188 0.4375 0.8438 +0.7188 0.4375 0.875 +0.7188 0.4375 0.9062 +0.7188 0.4375 0.9375 +0.7188 0.4375 0.9688 +0.7188 0.4375 1 +0.7188 0.4688 0 +0.7188 0.4688 0.03125 +0.7188 0.4688 0.0625 +0.7188 0.4688 0.09375 +0.7188 0.4688 0.125 +0.7188 0.4688 0.1562 +0.7188 0.4688 0.1875 +0.7188 0.4688 0.2188 +0.7188 0.4688 0.25 +0.7188 0.4688 0.2812 +0.7188 0.4688 0.3125 +0.7188 0.4688 0.3438 +0.7188 0.4688 0.375 +0.7188 0.4688 0.4062 +0.7188 0.4688 0.4375 +0.7188 0.4688 0.4688 +0.7188 0.4688 0.5 +0.7188 0.4688 0.5312 +0.7188 0.4688 0.5625 +0.7188 0.4688 0.5938 +0.7188 0.4688 0.625 +0.7188 0.4688 0.6562 +0.7188 0.4688 0.6875 +0.7188 0.4688 0.7188 +0.7188 0.4688 0.75 +0.7188 0.4688 0.7812 +0.7188 0.4688 0.8125 +0.7188 0.4688 0.8438 +0.7188 0.4688 0.875 +0.7188 0.4688 0.9062 +0.7188 0.4688 0.9375 +0.7188 0.4688 0.9688 +0.7188 0.4688 1 +0.7188 0.5 0 +0.7188 0.5 0.03125 +0.7188 0.5 0.0625 +0.7188 0.5 0.09375 +0.7188 0.5 0.125 +0.7188 0.5 0.1562 +0.7188 0.5 0.1875 +0.7188 0.5 0.2188 +0.7188 0.5 0.25 +0.7188 0.5 0.2812 +0.7188 0.5 0.3125 +0.7188 0.5 0.3438 +0.7188 0.5 0.375 +0.7188 0.5 0.4062 +0.7188 0.5 0.4375 +0.7188 0.5 0.4688 +0.7188 0.5 0.5 +0.7188 0.5 0.5312 +0.7188 0.5 0.5625 +0.7188 0.5 0.5938 +0.7188 0.5 0.625 +0.7188 0.5 0.6562 +0.7188 0.5 0.6875 +0.7188 0.5 0.7188 +0.7188 0.5 0.75 +0.7188 0.5 0.7812 +0.7188 0.5 0.8125 +0.7188 0.5 0.8438 +0.7188 0.5 0.875 +0.7188 0.5 0.9062 +0.7188 0.5 0.9375 +0.7188 0.5 0.9688 +0.7188 0.5 1 +0.7188 0.5312 0 +0.7188 0.5312 0.03125 +0.7188 0.5312 0.0625 +0.7188 0.5312 0.09375 +0.7188 0.5312 0.125 +0.7188 0.5312 0.1562 +0.7188 0.5312 0.1875 +0.7188 0.5312 0.2188 +0.7188 0.5312 0.25 +0.7188 0.5312 0.2812 +0.7188 0.5312 0.3125 +0.7188 0.5312 0.3438 +0.7188 0.5312 0.375 +0.7188 0.5312 0.4062 +0.7188 0.5312 0.4375 +0.7188 0.5312 0.4688 +0.7188 0.5312 0.5 +0.7188 0.5312 0.5312 +0.7188 0.5312 0.5625 +0.7188 0.5312 0.5938 +0.7188 0.5312 0.625 +0.7188 0.5312 0.6562 +0.7188 0.5312 0.6875 +0.7188 0.5312 0.7188 +0.7188 0.5312 0.75 +0.7188 0.5312 0.7812 +0.7188 0.5312 0.8125 +0.7188 0.5312 0.8438 +0.7188 0.5312 0.875 +0.7188 0.5312 0.9062 +0.7188 0.5312 0.9375 +0.7188 0.5312 0.9688 +0.7188 0.5312 1 +0.7188 0.5625 0 +0.7188 0.5625 0.03125 +0.7188 0.5625 0.0625 +0.7188 0.5625 0.09375 +0.7188 0.5625 0.125 +0.7188 0.5625 0.1562 +0.7188 0.5625 0.1875 +0.7188 0.5625 0.2188 +0.7188 0.5625 0.25 +0.7188 0.5625 0.2812 +0.7188 0.5625 0.3125 +0.7188 0.5625 0.3438 +0.7188 0.5625 0.375 +0.7188 0.5625 0.4062 +0.7188 0.5625 0.4375 +0.7188 0.5625 0.4688 +0.7188 0.5625 0.5 +0.7188 0.5625 0.5312 +0.7188 0.5625 0.5625 +0.7188 0.5625 0.5938 +0.7188 0.5625 0.625 +0.7188 0.5625 0.6562 +0.7188 0.5625 0.6875 +0.7188 0.5625 0.7188 +0.7188 0.5625 0.75 +0.7188 0.5625 0.7812 +0.7188 0.5625 0.8125 +0.7188 0.5625 0.8438 +0.7188 0.5625 0.875 +0.7188 0.5625 0.9062 +0.7188 0.5625 0.9375 +0.7188 0.5625 0.9688 +0.7188 0.5625 1 +0.7188 0.5938 0 +0.7188 0.5938 0.03125 +0.7188 0.5938 0.0625 +0.7188 0.5938 0.09375 +0.7188 0.5938 0.125 +0.7188 0.5938 0.1562 +0.7188 0.5938 0.1875 +0.7188 0.5938 0.2188 +0.7188 0.5938 0.25 +0.7188 0.5938 0.2812 +0.7188 0.5938 0.3125 +0.7188 0.5938 0.3438 +0.7188 0.5938 0.375 +0.7188 0.5938 0.4062 +0.7188 0.5938 0.4375 +0.7188 0.5938 0.4688 +0.7188 0.5938 0.5 +0.7188 0.5938 0.5312 +0.7188 0.5938 0.5625 +0.7188 0.5938 0.5938 +0.7188 0.5938 0.625 +0.7188 0.5938 0.6562 +0.7188 0.5938 0.6875 +0.7188 0.5938 0.7188 +0.7188 0.5938 0.75 +0.7188 0.5938 0.7812 +0.7188 0.5938 0.8125 +0.7188 0.5938 0.8438 +0.7188 0.5938 0.875 +0.7188 0.5938 0.9062 +0.7188 0.5938 0.9375 +0.7188 0.5938 0.9688 +0.7188 0.5938 1 +0.7188 0.625 0 +0.7188 0.625 0.03125 +0.7188 0.625 0.0625 +0.7188 0.625 0.09375 +0.7188 0.625 0.125 +0.7188 0.625 0.1562 +0.7188 0.625 0.1875 +0.7188 0.625 0.2188 +0.7188 0.625 0.25 +0.7188 0.625 0.2812 +0.7188 0.625 0.3125 +0.7188 0.625 0.3438 +0.7188 0.625 0.375 +0.7188 0.625 0.4062 +0.7188 0.625 0.4375 +0.7188 0.625 0.4688 +0.7188 0.625 0.5 +0.7188 0.625 0.5312 +0.7188 0.625 0.5625 +0.7188 0.625 0.5938 +0.7188 0.625 0.625 +0.7188 0.625 0.6562 +0.7188 0.625 0.6875 +0.7188 0.625 0.7188 +0.7188 0.625 0.75 +0.7188 0.625 0.7812 +0.7188 0.625 0.8125 +0.7188 0.625 0.8438 +0.7188 0.625 0.875 +0.7188 0.625 0.9062 +0.7188 0.625 0.9375 +0.7188 0.625 0.9688 +0.7188 0.625 1 +0.7188 0.6562 0 +0.7188 0.6562 0.03125 +0.7188 0.6562 0.0625 +0.7188 0.6562 0.09375 +0.7188 0.6562 0.125 +0.7188 0.6562 0.1562 +0.7188 0.6562 0.1875 +0.7188 0.6562 0.2188 +0.7188 0.6562 0.25 +0.7188 0.6562 0.2812 +0.7188 0.6562 0.3125 +0.7188 0.6562 0.3438 +0.7188 0.6562 0.375 +0.7188 0.6562 0.4062 +0.7188 0.6562 0.4375 +0.7188 0.6562 0.4688 +0.7188 0.6562 0.5 +0.7188 0.6562 0.5312 +0.7188 0.6562 0.5625 +0.7188 0.6562 0.5938 +0.7188 0.6562 0.625 +0.7188 0.6562 0.6562 +0.7188 0.6562 0.6875 +0.7188 0.6562 0.7188 +0.7188 0.6562 0.75 +0.7188 0.6562 0.7812 +0.7188 0.6562 0.8125 +0.7188 0.6562 0.8438 +0.7188 0.6562 0.875 +0.7188 0.6562 0.9062 +0.7188 0.6562 0.9375 +0.7188 0.6562 0.9688 +0.7188 0.6562 1 +0.7188 0.6875 0 +0.7188 0.6875 0.03125 +0.7188 0.6875 0.0625 +0.7188 0.6875 0.09375 +0.7188 0.6875 0.125 +0.7188 0.6875 0.1562 +0.7188 0.6875 0.1875 +0.7188 0.6875 0.2188 +0.7188 0.6875 0.25 +0.7188 0.6875 0.2812 +0.7188 0.6875 0.3125 +0.7188 0.6875 0.3438 +0.7188 0.6875 0.375 +0.7188 0.6875 0.4062 +0.7188 0.6875 0.4375 +0.7188 0.6875 0.4688 +0.7188 0.6875 0.5 +0.7188 0.6875 0.5312 +0.7188 0.6875 0.5625 +0.7188 0.6875 0.5938 +0.7188 0.6875 0.625 +0.7188 0.6875 0.6562 +0.7188 0.6875 0.6875 +0.7188 0.6875 0.7188 +0.7188 0.6875 0.75 +0.7188 0.6875 0.7812 +0.7188 0.6875 0.8125 +0.7188 0.6875 0.8438 +0.7188 0.6875 0.875 +0.7188 0.6875 0.9062 +0.7188 0.6875 0.9375 +0.7188 0.6875 0.9688 +0.7188 0.6875 1 +0.7188 0.7188 0 +0.7188 0.7188 0.03125 +0.7188 0.7188 0.0625 +0.7188 0.7188 0.09375 +0.7188 0.7188 0.125 +0.7188 0.7188 0.1562 +0.7188 0.7188 0.1875 +0.7188 0.7188 0.2188 +0.7188 0.7188 0.25 +0.7188 0.7188 0.2812 +0.7188 0.7188 0.3125 +0.7188 0.7188 0.3438 +0.7188 0.7188 0.375 +0.7188 0.7188 0.4062 +0.7188 0.7188 0.4375 +0.7188 0.7188 0.4688 +0.7188 0.7188 0.5 +0.7188 0.7188 0.5312 +0.7188 0.7188 0.5625 +0.7188 0.7188 0.5938 +0.7188 0.7188 0.625 +0.7188 0.7188 0.6562 +0.7188 0.7188 0.6875 +0.7188 0.7188 0.7188 +0.7188 0.7188 0.75 +0.7188 0.7188 0.7812 +0.7188 0.7188 0.8125 +0.7188 0.7188 0.8438 +0.7188 0.7188 0.875 +0.7188 0.7188 0.9062 +0.7188 0.7188 0.9375 +0.7188 0.7188 0.9688 +0.7188 0.7188 1 +0.7188 0.75 0 +0.7188 0.75 0.03125 +0.7188 0.75 0.0625 +0.7188 0.75 0.09375 +0.7188 0.75 0.125 +0.7188 0.75 0.1562 +0.7188 0.75 0.1875 +0.7188 0.75 0.2188 +0.7188 0.75 0.25 +0.7188 0.75 0.2812 +0.7188 0.75 0.3125 +0.7188 0.75 0.3438 +0.7188 0.75 0.375 +0.7188 0.75 0.4062 +0.7188 0.75 0.4375 +0.7188 0.75 0.4688 +0.7188 0.75 0.5 +0.7188 0.75 0.5312 +0.7188 0.75 0.5625 +0.7188 0.75 0.5938 +0.7188 0.75 0.625 +0.7188 0.75 0.6562 +0.7188 0.75 0.6875 +0.7188 0.75 0.7188 +0.7188 0.75 0.75 +0.7188 0.75 0.7812 +0.7188 0.75 0.8125 +0.7188 0.75 0.8438 +0.7188 0.75 0.875 +0.7188 0.75 0.9062 +0.7188 0.75 0.9375 +0.7188 0.75 0.9688 +0.7188 0.75 1 +0.7188 0.7812 0 +0.7188 0.7812 0.03125 +0.7188 0.7812 0.0625 +0.7188 0.7812 0.09375 +0.7188 0.7812 0.125 +0.7188 0.7812 0.1562 +0.7188 0.7812 0.1875 +0.7188 0.7812 0.2188 +0.7188 0.7812 0.25 +0.7188 0.7812 0.2812 +0.7188 0.7812 0.3125 +0.7188 0.7812 0.3438 +0.7188 0.7812 0.375 +0.7188 0.7812 0.4062 +0.7188 0.7812 0.4375 +0.7188 0.7812 0.4688 +0.7188 0.7812 0.5 +0.7188 0.7812 0.5312 +0.7188 0.7812 0.5625 +0.7188 0.7812 0.5938 +0.7188 0.7812 0.625 +0.7188 0.7812 0.6562 +0.7188 0.7812 0.6875 +0.7188 0.7812 0.7188 +0.7188 0.7812 0.75 +0.7188 0.7812 0.7812 +0.7188 0.7812 0.8125 +0.7188 0.7812 0.8438 +0.7188 0.7812 0.875 +0.7188 0.7812 0.9062 +0.7188 0.7812 0.9375 +0.7188 0.7812 0.9688 +0.7188 0.7812 1 +0.7188 0.8125 0 +0.7188 0.8125 0.03125 +0.7188 0.8125 0.0625 +0.7188 0.8125 0.09375 +0.7188 0.8125 0.125 +0.7188 0.8125 0.1562 +0.7188 0.8125 0.1875 +0.7188 0.8125 0.2188 +0.7188 0.8125 0.25 +0.7188 0.8125 0.2812 +0.7188 0.8125 0.3125 +0.7188 0.8125 0.3438 +0.7188 0.8125 0.375 +0.7188 0.8125 0.4062 +0.7188 0.8125 0.4375 +0.7188 0.8125 0.4688 +0.7188 0.8125 0.5 +0.7188 0.8125 0.5312 +0.7188 0.8125 0.5625 +0.7188 0.8125 0.5938 +0.7188 0.8125 0.625 +0.7188 0.8125 0.6562 +0.7188 0.8125 0.6875 +0.7188 0.8125 0.7188 +0.7188 0.8125 0.75 +0.7188 0.8125 0.7812 +0.7188 0.8125 0.8125 +0.7188 0.8125 0.8438 +0.7188 0.8125 0.875 +0.7188 0.8125 0.9062 +0.7188 0.8125 0.9375 +0.7188 0.8125 0.9688 +0.7188 0.8125 1 +0.7188 0.8438 0 +0.7188 0.8438 0.03125 +0.7188 0.8438 0.0625 +0.7188 0.8438 0.09375 +0.7188 0.8438 0.125 +0.7188 0.8438 0.1562 +0.7188 0.8438 0.1875 +0.7188 0.8438 0.2188 +0.7188 0.8438 0.25 +0.7188 0.8438 0.2812 +0.7188 0.8438 0.3125 +0.7188 0.8438 0.3438 +0.7188 0.8438 0.375 +0.7188 0.8438 0.4062 +0.7188 0.8438 0.4375 +0.7188 0.8438 0.4688 +0.7188 0.8438 0.5 +0.7188 0.8438 0.5312 +0.7188 0.8438 0.5625 +0.7188 0.8438 0.5938 +0.7188 0.8438 0.625 +0.7188 0.8438 0.6562 +0.7188 0.8438 0.6875 +0.7188 0.8438 0.7188 +0.7188 0.8438 0.75 +0.7188 0.8438 0.7812 +0.7188 0.8438 0.8125 +0.7188 0.8438 0.8438 +0.7188 0.8438 0.875 +0.7188 0.8438 0.9062 +0.7188 0.8438 0.9375 +0.7188 0.8438 0.9688 +0.7188 0.8438 1 +0.7188 0.875 0 +0.7188 0.875 0.03125 +0.7188 0.875 0.0625 +0.7188 0.875 0.09375 +0.7188 0.875 0.125 +0.7188 0.875 0.1562 +0.7188 0.875 0.1875 +0.7188 0.875 0.2188 +0.7188 0.875 0.25 +0.7188 0.875 0.2812 +0.7188 0.875 0.3125 +0.7188 0.875 0.3438 +0.7188 0.875 0.375 +0.7188 0.875 0.4062 +0.7188 0.875 0.4375 +0.7188 0.875 0.4688 +0.7188 0.875 0.5 +0.7188 0.875 0.5312 +0.7188 0.875 0.5625 +0.7188 0.875 0.5938 +0.7188 0.875 0.625 +0.7188 0.875 0.6562 +0.7188 0.875 0.6875 +0.7188 0.875 0.7188 +0.7188 0.875 0.75 +0.7188 0.875 0.7812 +0.7188 0.875 0.8125 +0.7188 0.875 0.8438 +0.7188 0.875 0.875 +0.7188 0.875 0.9062 +0.7188 0.875 0.9375 +0.7188 0.875 0.9688 +0.7188 0.875 1 +0.7188 0.9062 0 +0.7188 0.9062 0.03125 +0.7188 0.9062 0.0625 +0.7188 0.9062 0.09375 +0.7188 0.9062 0.125 +0.7188 0.9062 0.1562 +0.7188 0.9062 0.1875 +0.7188 0.9062 0.2188 +0.7188 0.9062 0.25 +0.7188 0.9062 0.2812 +0.7188 0.9062 0.3125 +0.7188 0.9062 0.3438 +0.7188 0.9062 0.375 +0.7188 0.9062 0.4062 +0.7188 0.9062 0.4375 +0.7188 0.9062 0.4688 +0.7188 0.9062 0.5 +0.7188 0.9062 0.5312 +0.7188 0.9062 0.5625 +0.7188 0.9062 0.5938 +0.7188 0.9062 0.625 +0.7188 0.9062 0.6562 +0.7188 0.9062 0.6875 +0.7188 0.9062 0.7188 +0.7188 0.9062 0.75 +0.7188 0.9062 0.7812 +0.7188 0.9062 0.8125 +0.7188 0.9062 0.8438 +0.7188 0.9062 0.875 +0.7188 0.9062 0.9062 +0.7188 0.9062 0.9375 +0.7188 0.9062 0.9688 +0.7188 0.9062 1 +0.7188 0.9375 0 +0.7188 0.9375 0.03125 +0.7188 0.9375 0.0625 +0.7188 0.9375 0.09375 +0.7188 0.9375 0.125 +0.7188 0.9375 0.1562 +0.7188 0.9375 0.1875 +0.7188 0.9375 0.2188 +0.7188 0.9375 0.25 +0.7188 0.9375 0.2812 +0.7188 0.9375 0.3125 +0.7188 0.9375 0.3438 +0.7188 0.9375 0.375 +0.7188 0.9375 0.4062 +0.7188 0.9375 0.4375 +0.7188 0.9375 0.4688 +0.7188 0.9375 0.5 +0.7188 0.9375 0.5312 +0.7188 0.9375 0.5625 +0.7188 0.9375 0.5938 +0.7188 0.9375 0.625 +0.7188 0.9375 0.6562 +0.7188 0.9375 0.6875 +0.7188 0.9375 0.7188 +0.7188 0.9375 0.75 +0.7188 0.9375 0.7812 +0.7188 0.9375 0.8125 +0.7188 0.9375 0.8438 +0.7188 0.9375 0.875 +0.7188 0.9375 0.9062 +0.7188 0.9375 0.9375 +0.7188 0.9375 0.9688 +0.7188 0.9375 1 +0.7188 0.9688 0 +0.7188 0.9688 0.03125 +0.7188 0.9688 0.0625 +0.7188 0.9688 0.09375 +0.7188 0.9688 0.125 +0.7188 0.9688 0.1562 +0.7188 0.9688 0.1875 +0.7188 0.9688 0.2188 +0.7188 0.9688 0.25 +0.7188 0.9688 0.2812 +0.7188 0.9688 0.3125 +0.7188 0.9688 0.3438 +0.7188 0.9688 0.375 +0.7188 0.9688 0.4062 +0.7188 0.9688 0.4375 +0.7188 0.9688 0.4688 +0.7188 0.9688 0.5 +0.7188 0.9688 0.5312 +0.7188 0.9688 0.5625 +0.7188 0.9688 0.5938 +0.7188 0.9688 0.625 +0.7188 0.9688 0.6562 +0.7188 0.9688 0.6875 +0.7188 0.9688 0.7188 +0.7188 0.9688 0.75 +0.7188 0.9688 0.7812 +0.7188 0.9688 0.8125 +0.7188 0.9688 0.8438 +0.7188 0.9688 0.875 +0.7188 0.9688 0.9062 +0.7188 0.9688 0.9375 +0.7188 0.9688 0.9688 +0.7188 0.9688 1 +0.7188 1 0 +0.7188 1 0.03125 +0.7188 1 0.0625 +0.7188 1 0.09375 +0.7188 1 0.125 +0.7188 1 0.1562 +0.7188 1 0.1875 +0.7188 1 0.2188 +0.7188 1 0.25 +0.7188 1 0.2812 +0.7188 1 0.3125 +0.7188 1 0.3438 +0.7188 1 0.375 +0.7188 1 0.4062 +0.7188 1 0.4375 +0.7188 1 0.4688 +0.7188 1 0.5 +0.7188 1 0.5312 +0.7188 1 0.5625 +0.7188 1 0.5938 +0.7188 1 0.625 +0.7188 1 0.6562 +0.7188 1 0.6875 +0.7188 1 0.7188 +0.7188 1 0.75 +0.7188 1 0.7812 +0.7188 1 0.8125 +0.7188 1 0.8438 +0.7188 1 0.875 +0.7188 1 0.9062 +0.7188 1 0.9375 +0.7188 1 0.9688 +0.7188 1 1 +0.75 0 0 +0.75 0 0.03125 +0.75 0 0.0625 +0.75 0 0.09375 +0.75 0 0.125 +0.75 0 0.1562 +0.75 0 0.1875 +0.75 0 0.2188 +0.75 0 0.25 +0.75 0 0.2812 +0.75 0 0.3125 +0.75 0 0.3438 +0.75 0 0.375 +0.75 0 0.4062 +0.75 0 0.4375 +0.75 0 0.4688 +0.75 0 0.5 +0.75 0 0.5312 +0.75 0 0.5625 +0.75 0 0.5938 +0.75 0 0.625 +0.75 0 0.6562 +0.75 0 0.6875 +0.75 0 0.7188 +0.75 0 0.75 +0.75 0 0.7812 +0.75 0 0.8125 +0.75 0 0.8438 +0.75 0 0.875 +0.75 0 0.9062 +0.75 0 0.9375 +0.75 0 0.9688 +0.75 0 1 +0.75 0.03125 0 +0.75 0.03125 0.03125 +0.75 0.03125 0.0625 +0.75 0.03125 0.09375 +0.75 0.03125 0.125 +0.75 0.03125 0.1562 +0.75 0.03125 0.1875 +0.75 0.03125 0.2188 +0.75 0.03125 0.25 +0.75 0.03125 0.2812 +0.75 0.03125 0.3125 +0.75 0.03125 0.3438 +0.75 0.03125 0.375 +0.75 0.03125 0.4062 +0.75 0.03125 0.4375 +0.75 0.03125 0.4688 +0.75 0.03125 0.5 +0.75 0.03125 0.5312 +0.75 0.03125 0.5625 +0.75 0.03125 0.5938 +0.75 0.03125 0.625 +0.75 0.03125 0.6562 +0.75 0.03125 0.6875 +0.75 0.03125 0.7188 +0.75 0.03125 0.75 +0.75 0.03125 0.7812 +0.75 0.03125 0.8125 +0.75 0.03125 0.8438 +0.75 0.03125 0.875 +0.75 0.03125 0.9062 +0.75 0.03125 0.9375 +0.75 0.03125 0.9688 +0.75 0.03125 1 +0.75 0.0625 0 +0.75 0.0625 0.03125 +0.75 0.0625 0.0625 +0.75 0.0625 0.09375 +0.75 0.0625 0.125 +0.75 0.0625 0.1562 +0.75 0.0625 0.1875 +0.75 0.0625 0.2188 +0.75 0.0625 0.25 +0.75 0.0625 0.2812 +0.75 0.0625 0.3125 +0.75 0.0625 0.3438 +0.75 0.0625 0.375 +0.75 0.0625 0.4062 +0.75 0.0625 0.4375 +0.75 0.0625 0.4688 +0.75 0.0625 0.5 +0.75 0.0625 0.5312 +0.75 0.0625 0.5625 +0.75 0.0625 0.5938 +0.75 0.0625 0.625 +0.75 0.0625 0.6562 +0.75 0.0625 0.6875 +0.75 0.0625 0.7188 +0.75 0.0625 0.75 +0.75 0.0625 0.7812 +0.75 0.0625 0.8125 +0.75 0.0625 0.8438 +0.75 0.0625 0.875 +0.75 0.0625 0.9062 +0.75 0.0625 0.9375 +0.75 0.0625 0.9688 +0.75 0.0625 1 +0.75 0.09375 0 +0.75 0.09375 0.03125 +0.75 0.09375 0.0625 +0.75 0.09375 0.09375 +0.75 0.09375 0.125 +0.75 0.09375 0.1562 +0.75 0.09375 0.1875 +0.75 0.09375 0.2188 +0.75 0.09375 0.25 +0.75 0.09375 0.2812 +0.75 0.09375 0.3125 +0.75 0.09375 0.3438 +0.75 0.09375 0.375 +0.75 0.09375 0.4062 +0.75 0.09375 0.4375 +0.75 0.09375 0.4688 +0.75 0.09375 0.5 +0.75 0.09375 0.5312 +0.75 0.09375 0.5625 +0.75 0.09375 0.5938 +0.75 0.09375 0.625 +0.75 0.09375 0.6562 +0.75 0.09375 0.6875 +0.75 0.09375 0.7188 +0.75 0.09375 0.75 +0.75 0.09375 0.7812 +0.75 0.09375 0.8125 +0.75 0.09375 0.8438 +0.75 0.09375 0.875 +0.75 0.09375 0.9062 +0.75 0.09375 0.9375 +0.75 0.09375 0.9688 +0.75 0.09375 1 +0.75 0.125 0 +0.75 0.125 0.03125 +0.75 0.125 0.0625 +0.75 0.125 0.09375 +0.75 0.125 0.125 +0.75 0.125 0.1562 +0.75 0.125 0.1875 +0.75 0.125 0.2188 +0.75 0.125 0.25 +0.75 0.125 0.2812 +0.75 0.125 0.3125 +0.75 0.125 0.3438 +0.75 0.125 0.375 +0.75 0.125 0.4062 +0.75 0.125 0.4375 +0.75 0.125 0.4688 +0.75 0.125 0.5 +0.75 0.125 0.5312 +0.75 0.125 0.5625 +0.75 0.125 0.5938 +0.75 0.125 0.625 +0.75 0.125 0.6562 +0.75 0.125 0.6875 +0.75 0.125 0.7188 +0.75 0.125 0.75 +0.75 0.125 0.7812 +0.75 0.125 0.8125 +0.75 0.125 0.8438 +0.75 0.125 0.875 +0.75 0.125 0.9062 +0.75 0.125 0.9375 +0.75 0.125 0.9688 +0.75 0.125 1 +0.75 0.1562 0 +0.75 0.1562 0.03125 +0.75 0.1562 0.0625 +0.75 0.1562 0.09375 +0.75 0.1562 0.125 +0.75 0.1562 0.1562 +0.75 0.1562 0.1875 +0.75 0.1562 0.2188 +0.75 0.1562 0.25 +0.75 0.1562 0.2812 +0.75 0.1562 0.3125 +0.75 0.1562 0.3438 +0.75 0.1562 0.375 +0.75 0.1562 0.4062 +0.75 0.1562 0.4375 +0.75 0.1562 0.4688 +0.75 0.1562 0.5 +0.75 0.1562 0.5312 +0.75 0.1562 0.5625 +0.75 0.1562 0.5938 +0.75 0.1562 0.625 +0.75 0.1562 0.6562 +0.75 0.1562 0.6875 +0.75 0.1562 0.7188 +0.75 0.1562 0.75 +0.75 0.1562 0.7812 +0.75 0.1562 0.8125 +0.75 0.1562 0.8438 +0.75 0.1562 0.875 +0.75 0.1562 0.9062 +0.75 0.1562 0.9375 +0.75 0.1562 0.9688 +0.75 0.1562 1 +0.75 0.1875 0 +0.75 0.1875 0.03125 +0.75 0.1875 0.0625 +0.75 0.1875 0.09375 +0.75 0.1875 0.125 +0.75 0.1875 0.1562 +0.75 0.1875 0.1875 +0.75 0.1875 0.2188 +0.75 0.1875 0.25 +0.75 0.1875 0.2812 +0.75 0.1875 0.3125 +0.75 0.1875 0.3438 +0.75 0.1875 0.375 +0.75 0.1875 0.4062 +0.75 0.1875 0.4375 +0.75 0.1875 0.4688 +0.75 0.1875 0.5 +0.75 0.1875 0.5312 +0.75 0.1875 0.5625 +0.75 0.1875 0.5938 +0.75 0.1875 0.625 +0.75 0.1875 0.6562 +0.75 0.1875 0.6875 +0.75 0.1875 0.7188 +0.75 0.1875 0.75 +0.75 0.1875 0.7812 +0.75 0.1875 0.8125 +0.75 0.1875 0.8438 +0.75 0.1875 0.875 +0.75 0.1875 0.9062 +0.75 0.1875 0.9375 +0.75 0.1875 0.9688 +0.75 0.1875 1 +0.75 0.2188 0 +0.75 0.2188 0.03125 +0.75 0.2188 0.0625 +0.75 0.2188 0.09375 +0.75 0.2188 0.125 +0.75 0.2188 0.1562 +0.75 0.2188 0.1875 +0.75 0.2188 0.2188 +0.75 0.2188 0.25 +0.75 0.2188 0.2812 +0.75 0.2188 0.3125 +0.75 0.2188 0.3438 +0.75 0.2188 0.375 +0.75 0.2188 0.4062 +0.75 0.2188 0.4375 +0.75 0.2188 0.4688 +0.75 0.2188 0.5 +0.75 0.2188 0.5312 +0.75 0.2188 0.5625 +0.75 0.2188 0.5938 +0.75 0.2188 0.625 +0.75 0.2188 0.6562 +0.75 0.2188 0.6875 +0.75 0.2188 0.7188 +0.75 0.2188 0.75 +0.75 0.2188 0.7812 +0.75 0.2188 0.8125 +0.75 0.2188 0.8438 +0.75 0.2188 0.875 +0.75 0.2188 0.9062 +0.75 0.2188 0.9375 +0.75 0.2188 0.9688 +0.75 0.2188 1 +0.75 0.25 0 +0.75 0.25 0.03125 +0.75 0.25 0.0625 +0.75 0.25 0.09375 +0.75 0.25 0.125 +0.75 0.25 0.1562 +0.75 0.25 0.1875 +0.75 0.25 0.2188 +0.75 0.25 0.25 +0.75 0.25 0.2812 +0.75 0.25 0.3125 +0.75 0.25 0.3438 +0.75 0.25 0.375 +0.75 0.25 0.4062 +0.75 0.25 0.4375 +0.75 0.25 0.4688 +0.75 0.25 0.5 +0.75 0.25 0.5312 +0.75 0.25 0.5625 +0.75 0.25 0.5938 +0.75 0.25 0.625 +0.75 0.25 0.6562 +0.75 0.25 0.6875 +0.75 0.25 0.7188 +0.75 0.25 0.75 +0.75 0.25 0.7812 +0.75 0.25 0.8125 +0.75 0.25 0.8438 +0.75 0.25 0.875 +0.75 0.25 0.9062 +0.75 0.25 0.9375 +0.75 0.25 0.9688 +0.75 0.25 1 +0.75 0.2812 0 +0.75 0.2812 0.03125 +0.75 0.2812 0.0625 +0.75 0.2812 0.09375 +0.75 0.2812 0.125 +0.75 0.2812 0.1562 +0.75 0.2812 0.1875 +0.75 0.2812 0.2188 +0.75 0.2812 0.25 +0.75 0.2812 0.2812 +0.75 0.2812 0.3125 +0.75 0.2812 0.3438 +0.75 0.2812 0.375 +0.75 0.2812 0.4062 +0.75 0.2812 0.4375 +0.75 0.2812 0.4688 +0.75 0.2812 0.5 +0.75 0.2812 0.5312 +0.75 0.2812 0.5625 +0.75 0.2812 0.5938 +0.75 0.2812 0.625 +0.75 0.2812 0.6562 +0.75 0.2812 0.6875 +0.75 0.2812 0.7188 +0.75 0.2812 0.75 +0.75 0.2812 0.7812 +0.75 0.2812 0.8125 +0.75 0.2812 0.8438 +0.75 0.2812 0.875 +0.75 0.2812 0.9062 +0.75 0.2812 0.9375 +0.75 0.2812 0.9688 +0.75 0.2812 1 +0.75 0.3125 0 +0.75 0.3125 0.03125 +0.75 0.3125 0.0625 +0.75 0.3125 0.09375 +0.75 0.3125 0.125 +0.75 0.3125 0.1562 +0.75 0.3125 0.1875 +0.75 0.3125 0.2188 +0.75 0.3125 0.25 +0.75 0.3125 0.2812 +0.75 0.3125 0.3125 +0.75 0.3125 0.3438 +0.75 0.3125 0.375 +0.75 0.3125 0.4062 +0.75 0.3125 0.4375 +0.75 0.3125 0.4688 +0.75 0.3125 0.5 +0.75 0.3125 0.5312 +0.75 0.3125 0.5625 +0.75 0.3125 0.5938 +0.75 0.3125 0.625 +0.75 0.3125 0.6562 +0.75 0.3125 0.6875 +0.75 0.3125 0.7188 +0.75 0.3125 0.75 +0.75 0.3125 0.7812 +0.75 0.3125 0.8125 +0.75 0.3125 0.8438 +0.75 0.3125 0.875 +0.75 0.3125 0.9062 +0.75 0.3125 0.9375 +0.75 0.3125 0.9688 +0.75 0.3125 1 +0.75 0.3438 0 +0.75 0.3438 0.03125 +0.75 0.3438 0.0625 +0.75 0.3438 0.09375 +0.75 0.3438 0.125 +0.75 0.3438 0.1562 +0.75 0.3438 0.1875 +0.75 0.3438 0.2188 +0.75 0.3438 0.25 +0.75 0.3438 0.2812 +0.75 0.3438 0.3125 +0.75 0.3438 0.3438 +0.75 0.3438 0.375 +0.75 0.3438 0.4062 +0.75 0.3438 0.4375 +0.75 0.3438 0.4688 +0.75 0.3438 0.5 +0.75 0.3438 0.5312 +0.75 0.3438 0.5625 +0.75 0.3438 0.5938 +0.75 0.3438 0.625 +0.75 0.3438 0.6562 +0.75 0.3438 0.6875 +0.75 0.3438 0.7188 +0.75 0.3438 0.75 +0.75 0.3438 0.7812 +0.75 0.3438 0.8125 +0.75 0.3438 0.8438 +0.75 0.3438 0.875 +0.75 0.3438 0.9062 +0.75 0.3438 0.9375 +0.75 0.3438 0.9688 +0.75 0.3438 1 +0.75 0.375 0 +0.75 0.375 0.03125 +0.75 0.375 0.0625 +0.75 0.375 0.09375 +0.75 0.375 0.125 +0.75 0.375 0.1562 +0.75 0.375 0.1875 +0.75 0.375 0.2188 +0.75 0.375 0.25 +0.75 0.375 0.2812 +0.75 0.375 0.3125 +0.75 0.375 0.3438 +0.75 0.375 0.375 +0.75 0.375 0.4062 +0.75 0.375 0.4375 +0.75 0.375 0.4688 +0.75 0.375 0.5 +0.75 0.375 0.5312 +0.75 0.375 0.5625 +0.75 0.375 0.5938 +0.75 0.375 0.625 +0.75 0.375 0.6562 +0.75 0.375 0.6875 +0.75 0.375 0.7188 +0.75 0.375 0.75 +0.75 0.375 0.7812 +0.75 0.375 0.8125 +0.75 0.375 0.8438 +0.75 0.375 0.875 +0.75 0.375 0.9062 +0.75 0.375 0.9375 +0.75 0.375 0.9688 +0.75 0.375 1 +0.75 0.4062 0 +0.75 0.4062 0.03125 +0.75 0.4062 0.0625 +0.75 0.4062 0.09375 +0.75 0.4062 0.125 +0.75 0.4062 0.1562 +0.75 0.4062 0.1875 +0.75 0.4062 0.2188 +0.75 0.4062 0.25 +0.75 0.4062 0.2812 +0.75 0.4062 0.3125 +0.75 0.4062 0.3438 +0.75 0.4062 0.375 +0.75 0.4062 0.4062 +0.75 0.4062 0.4375 +0.75 0.4062 0.4688 +0.75 0.4062 0.5 +0.75 0.4062 0.5312 +0.75 0.4062 0.5625 +0.75 0.4062 0.5938 +0.75 0.4062 0.625 +0.75 0.4062 0.6562 +0.75 0.4062 0.6875 +0.75 0.4062 0.7188 +0.75 0.4062 0.75 +0.75 0.4062 0.7812 +0.75 0.4062 0.8125 +0.75 0.4062 0.8438 +0.75 0.4062 0.875 +0.75 0.4062 0.9062 +0.75 0.4062 0.9375 +0.75 0.4062 0.9688 +0.75 0.4062 1 +0.75 0.4375 0 +0.75 0.4375 0.03125 +0.75 0.4375 0.0625 +0.75 0.4375 0.09375 +0.75 0.4375 0.125 +0.75 0.4375 0.1562 +0.75 0.4375 0.1875 +0.75 0.4375 0.2188 +0.75 0.4375 0.25 +0.75 0.4375 0.2812 +0.75 0.4375 0.3125 +0.75 0.4375 0.3438 +0.75 0.4375 0.375 +0.75 0.4375 0.4062 +0.75 0.4375 0.4375 +0.75 0.4375 0.4688 +0.75 0.4375 0.5 +0.75 0.4375 0.5312 +0.75 0.4375 0.5625 +0.75 0.4375 0.5938 +0.75 0.4375 0.625 +0.75 0.4375 0.6562 +0.75 0.4375 0.6875 +0.75 0.4375 0.7188 +0.75 0.4375 0.75 +0.75 0.4375 0.7812 +0.75 0.4375 0.8125 +0.75 0.4375 0.8438 +0.75 0.4375 0.875 +0.75 0.4375 0.9062 +0.75 0.4375 0.9375 +0.75 0.4375 0.9688 +0.75 0.4375 1 +0.75 0.4688 0 +0.75 0.4688 0.03125 +0.75 0.4688 0.0625 +0.75 0.4688 0.09375 +0.75 0.4688 0.125 +0.75 0.4688 0.1562 +0.75 0.4688 0.1875 +0.75 0.4688 0.2188 +0.75 0.4688 0.25 +0.75 0.4688 0.2812 +0.75 0.4688 0.3125 +0.75 0.4688 0.3438 +0.75 0.4688 0.375 +0.75 0.4688 0.4062 +0.75 0.4688 0.4375 +0.75 0.4688 0.4688 +0.75 0.4688 0.5 +0.75 0.4688 0.5312 +0.75 0.4688 0.5625 +0.75 0.4688 0.5938 +0.75 0.4688 0.625 +0.75 0.4688 0.6562 +0.75 0.4688 0.6875 +0.75 0.4688 0.7188 +0.75 0.4688 0.75 +0.75 0.4688 0.7812 +0.75 0.4688 0.8125 +0.75 0.4688 0.8438 +0.75 0.4688 0.875 +0.75 0.4688 0.9062 +0.75 0.4688 0.9375 +0.75 0.4688 0.9688 +0.75 0.4688 1 +0.75 0.5 0 +0.75 0.5 0.03125 +0.75 0.5 0.0625 +0.75 0.5 0.09375 +0.75 0.5 0.125 +0.75 0.5 0.1562 +0.75 0.5 0.1875 +0.75 0.5 0.2188 +0.75 0.5 0.25 +0.75 0.5 0.2812 +0.75 0.5 0.3125 +0.75 0.5 0.3438 +0.75 0.5 0.375 +0.75 0.5 0.4062 +0.75 0.5 0.4375 +0.75 0.5 0.4688 +0.75 0.5 0.5 +0.75 0.5 0.5312 +0.75 0.5 0.5625 +0.75 0.5 0.5938 +0.75 0.5 0.625 +0.75 0.5 0.6562 +0.75 0.5 0.6875 +0.75 0.5 0.7188 +0.75 0.5 0.75 +0.75 0.5 0.7812 +0.75 0.5 0.8125 +0.75 0.5 0.8438 +0.75 0.5 0.875 +0.75 0.5 0.9062 +0.75 0.5 0.9375 +0.75 0.5 0.9688 +0.75 0.5 1 +0.75 0.5312 0 +0.75 0.5312 0.03125 +0.75 0.5312 0.0625 +0.75 0.5312 0.09375 +0.75 0.5312 0.125 +0.75 0.5312 0.1562 +0.75 0.5312 0.1875 +0.75 0.5312 0.2188 +0.75 0.5312 0.25 +0.75 0.5312 0.2812 +0.75 0.5312 0.3125 +0.75 0.5312 0.3438 +0.75 0.5312 0.375 +0.75 0.5312 0.4062 +0.75 0.5312 0.4375 +0.75 0.5312 0.4688 +0.75 0.5312 0.5 +0.75 0.5312 0.5312 +0.75 0.5312 0.5625 +0.75 0.5312 0.5938 +0.75 0.5312 0.625 +0.75 0.5312 0.6562 +0.75 0.5312 0.6875 +0.75 0.5312 0.7188 +0.75 0.5312 0.75 +0.75 0.5312 0.7812 +0.75 0.5312 0.8125 +0.75 0.5312 0.8438 +0.75 0.5312 0.875 +0.75 0.5312 0.9062 +0.75 0.5312 0.9375 +0.75 0.5312 0.9688 +0.75 0.5312 1 +0.75 0.5625 0 +0.75 0.5625 0.03125 +0.75 0.5625 0.0625 +0.75 0.5625 0.09375 +0.75 0.5625 0.125 +0.75 0.5625 0.1562 +0.75 0.5625 0.1875 +0.75 0.5625 0.2188 +0.75 0.5625 0.25 +0.75 0.5625 0.2812 +0.75 0.5625 0.3125 +0.75 0.5625 0.3438 +0.75 0.5625 0.375 +0.75 0.5625 0.4062 +0.75 0.5625 0.4375 +0.75 0.5625 0.4688 +0.75 0.5625 0.5 +0.75 0.5625 0.5312 +0.75 0.5625 0.5625 +0.75 0.5625 0.5938 +0.75 0.5625 0.625 +0.75 0.5625 0.6562 +0.75 0.5625 0.6875 +0.75 0.5625 0.7188 +0.75 0.5625 0.75 +0.75 0.5625 0.7812 +0.75 0.5625 0.8125 +0.75 0.5625 0.8438 +0.75 0.5625 0.875 +0.75 0.5625 0.9062 +0.75 0.5625 0.9375 +0.75 0.5625 0.9688 +0.75 0.5625 1 +0.75 0.5938 0 +0.75 0.5938 0.03125 +0.75 0.5938 0.0625 +0.75 0.5938 0.09375 +0.75 0.5938 0.125 +0.75 0.5938 0.1562 +0.75 0.5938 0.1875 +0.75 0.5938 0.2188 +0.75 0.5938 0.25 +0.75 0.5938 0.2812 +0.75 0.5938 0.3125 +0.75 0.5938 0.3438 +0.75 0.5938 0.375 +0.75 0.5938 0.4062 +0.75 0.5938 0.4375 +0.75 0.5938 0.4688 +0.75 0.5938 0.5 +0.75 0.5938 0.5312 +0.75 0.5938 0.5625 +0.75 0.5938 0.5938 +0.75 0.5938 0.625 +0.75 0.5938 0.6562 +0.75 0.5938 0.6875 +0.75 0.5938 0.7188 +0.75 0.5938 0.75 +0.75 0.5938 0.7812 +0.75 0.5938 0.8125 +0.75 0.5938 0.8438 +0.75 0.5938 0.875 +0.75 0.5938 0.9062 +0.75 0.5938 0.9375 +0.75 0.5938 0.9688 +0.75 0.5938 1 +0.75 0.625 0 +0.75 0.625 0.03125 +0.75 0.625 0.0625 +0.75 0.625 0.09375 +0.75 0.625 0.125 +0.75 0.625 0.1562 +0.75 0.625 0.1875 +0.75 0.625 0.2188 +0.75 0.625 0.25 +0.75 0.625 0.2812 +0.75 0.625 0.3125 +0.75 0.625 0.3438 +0.75 0.625 0.375 +0.75 0.625 0.4062 +0.75 0.625 0.4375 +0.75 0.625 0.4688 +0.75 0.625 0.5 +0.75 0.625 0.5312 +0.75 0.625 0.5625 +0.75 0.625 0.5938 +0.75 0.625 0.625 +0.75 0.625 0.6562 +0.75 0.625 0.6875 +0.75 0.625 0.7188 +0.75 0.625 0.75 +0.75 0.625 0.7812 +0.75 0.625 0.8125 +0.75 0.625 0.8438 +0.75 0.625 0.875 +0.75 0.625 0.9062 +0.75 0.625 0.9375 +0.75 0.625 0.9688 +0.75 0.625 1 +0.75 0.6562 0 +0.75 0.6562 0.03125 +0.75 0.6562 0.0625 +0.75 0.6562 0.09375 +0.75 0.6562 0.125 +0.75 0.6562 0.1562 +0.75 0.6562 0.1875 +0.75 0.6562 0.2188 +0.75 0.6562 0.25 +0.75 0.6562 0.2812 +0.75 0.6562 0.3125 +0.75 0.6562 0.3438 +0.75 0.6562 0.375 +0.75 0.6562 0.4062 +0.75 0.6562 0.4375 +0.75 0.6562 0.4688 +0.75 0.6562 0.5 +0.75 0.6562 0.5312 +0.75 0.6562 0.5625 +0.75 0.6562 0.5938 +0.75 0.6562 0.625 +0.75 0.6562 0.6562 +0.75 0.6562 0.6875 +0.75 0.6562 0.7188 +0.75 0.6562 0.75 +0.75 0.6562 0.7812 +0.75 0.6562 0.8125 +0.75 0.6562 0.8438 +0.75 0.6562 0.875 +0.75 0.6562 0.9062 +0.75 0.6562 0.9375 +0.75 0.6562 0.9688 +0.75 0.6562 1 +0.75 0.6875 0 +0.75 0.6875 0.03125 +0.75 0.6875 0.0625 +0.75 0.6875 0.09375 +0.75 0.6875 0.125 +0.75 0.6875 0.1562 +0.75 0.6875 0.1875 +0.75 0.6875 0.2188 +0.75 0.6875 0.25 +0.75 0.6875 0.2812 +0.75 0.6875 0.3125 +0.75 0.6875 0.3438 +0.75 0.6875 0.375 +0.75 0.6875 0.4062 +0.75 0.6875 0.4375 +0.75 0.6875 0.4688 +0.75 0.6875 0.5 +0.75 0.6875 0.5312 +0.75 0.6875 0.5625 +0.75 0.6875 0.5938 +0.75 0.6875 0.625 +0.75 0.6875 0.6562 +0.75 0.6875 0.6875 +0.75 0.6875 0.7188 +0.75 0.6875 0.75 +0.75 0.6875 0.7812 +0.75 0.6875 0.8125 +0.75 0.6875 0.8438 +0.75 0.6875 0.875 +0.75 0.6875 0.9062 +0.75 0.6875 0.9375 +0.75 0.6875 0.9688 +0.75 0.6875 1 +0.75 0.7188 0 +0.75 0.7188 0.03125 +0.75 0.7188 0.0625 +0.75 0.7188 0.09375 +0.75 0.7188 0.125 +0.75 0.7188 0.1562 +0.75 0.7188 0.1875 +0.75 0.7188 0.2188 +0.75 0.7188 0.25 +0.75 0.7188 0.2812 +0.75 0.7188 0.3125 +0.75 0.7188 0.3438 +0.75 0.7188 0.375 +0.75 0.7188 0.4062 +0.75 0.7188 0.4375 +0.75 0.7188 0.4688 +0.75 0.7188 0.5 +0.75 0.7188 0.5312 +0.75 0.7188 0.5625 +0.75 0.7188 0.5938 +0.75 0.7188 0.625 +0.75 0.7188 0.6562 +0.75 0.7188 0.6875 +0.75 0.7188 0.7188 +0.75 0.7188 0.75 +0.75 0.7188 0.7812 +0.75 0.7188 0.8125 +0.75 0.7188 0.8438 +0.75 0.7188 0.875 +0.75 0.7188 0.9062 +0.75 0.7188 0.9375 +0.75 0.7188 0.9688 +0.75 0.7188 1 +0.75 0.75 0 +0.75 0.75 0.03125 +0.75 0.75 0.0625 +0.75 0.75 0.09375 +0.75 0.75 0.125 +0.75 0.75 0.1562 +0.75 0.75 0.1875 +0.75 0.75 0.2188 +0.75 0.75 0.25 +0.75 0.75 0.2812 +0.75 0.75 0.3125 +0.75 0.75 0.3438 +0.75 0.75 0.375 +0.75 0.75 0.4062 +0.75 0.75 0.4375 +0.75 0.75 0.4688 +0.75 0.75 0.5 +0.75 0.75 0.5312 +0.75 0.75 0.5625 +0.75 0.75 0.5938 +0.75 0.75 0.625 +0.75 0.75 0.6562 +0.75 0.75 0.6875 +0.75 0.75 0.7188 +0.75 0.75 0.75 +0.75 0.75 0.7812 +0.75 0.75 0.8125 +0.75 0.75 0.8438 +0.75 0.75 0.875 +0.75 0.75 0.9062 +0.75 0.75 0.9375 +0.75 0.75 0.9688 +0.75 0.75 1 +0.75 0.7812 0 +0.75 0.7812 0.03125 +0.75 0.7812 0.0625 +0.75 0.7812 0.09375 +0.75 0.7812 0.125 +0.75 0.7812 0.1562 +0.75 0.7812 0.1875 +0.75 0.7812 0.2188 +0.75 0.7812 0.25 +0.75 0.7812 0.2812 +0.75 0.7812 0.3125 +0.75 0.7812 0.3438 +0.75 0.7812 0.375 +0.75 0.7812 0.4062 +0.75 0.7812 0.4375 +0.75 0.7812 0.4688 +0.75 0.7812 0.5 +0.75 0.7812 0.5312 +0.75 0.7812 0.5625 +0.75 0.7812 0.5938 +0.75 0.7812 0.625 +0.75 0.7812 0.6562 +0.75 0.7812 0.6875 +0.75 0.7812 0.7188 +0.75 0.7812 0.75 +0.75 0.7812 0.7812 +0.75 0.7812 0.8125 +0.75 0.7812 0.8438 +0.75 0.7812 0.875 +0.75 0.7812 0.9062 +0.75 0.7812 0.9375 +0.75 0.7812 0.9688 +0.75 0.7812 1 +0.75 0.8125 0 +0.75 0.8125 0.03125 +0.75 0.8125 0.0625 +0.75 0.8125 0.09375 +0.75 0.8125 0.125 +0.75 0.8125 0.1562 +0.75 0.8125 0.1875 +0.75 0.8125 0.2188 +0.75 0.8125 0.25 +0.75 0.8125 0.2812 +0.75 0.8125 0.3125 +0.75 0.8125 0.3438 +0.75 0.8125 0.375 +0.75 0.8125 0.4062 +0.75 0.8125 0.4375 +0.75 0.8125 0.4688 +0.75 0.8125 0.5 +0.75 0.8125 0.5312 +0.75 0.8125 0.5625 +0.75 0.8125 0.5938 +0.75 0.8125 0.625 +0.75 0.8125 0.6562 +0.75 0.8125 0.6875 +0.75 0.8125 0.7188 +0.75 0.8125 0.75 +0.75 0.8125 0.7812 +0.75 0.8125 0.8125 +0.75 0.8125 0.8438 +0.75 0.8125 0.875 +0.75 0.8125 0.9062 +0.75 0.8125 0.9375 +0.75 0.8125 0.9688 +0.75 0.8125 1 +0.75 0.8438 0 +0.75 0.8438 0.03125 +0.75 0.8438 0.0625 +0.75 0.8438 0.09375 +0.75 0.8438 0.125 +0.75 0.8438 0.1562 +0.75 0.8438 0.1875 +0.75 0.8438 0.2188 +0.75 0.8438 0.25 +0.75 0.8438 0.2812 +0.75 0.8438 0.3125 +0.75 0.8438 0.3438 +0.75 0.8438 0.375 +0.75 0.8438 0.4062 +0.75 0.8438 0.4375 +0.75 0.8438 0.4688 +0.75 0.8438 0.5 +0.75 0.8438 0.5312 +0.75 0.8438 0.5625 +0.75 0.8438 0.5938 +0.75 0.8438 0.625 +0.75 0.8438 0.6562 +0.75 0.8438 0.6875 +0.75 0.8438 0.7188 +0.75 0.8438 0.75 +0.75 0.8438 0.7812 +0.75 0.8438 0.8125 +0.75 0.8438 0.8438 +0.75 0.8438 0.875 +0.75 0.8438 0.9062 +0.75 0.8438 0.9375 +0.75 0.8438 0.9688 +0.75 0.8438 1 +0.75 0.875 0 +0.75 0.875 0.03125 +0.75 0.875 0.0625 +0.75 0.875 0.09375 +0.75 0.875 0.125 +0.75 0.875 0.1562 +0.75 0.875 0.1875 +0.75 0.875 0.2188 +0.75 0.875 0.25 +0.75 0.875 0.2812 +0.75 0.875 0.3125 +0.75 0.875 0.3438 +0.75 0.875 0.375 +0.75 0.875 0.4062 +0.75 0.875 0.4375 +0.75 0.875 0.4688 +0.75 0.875 0.5 +0.75 0.875 0.5312 +0.75 0.875 0.5625 +0.75 0.875 0.5938 +0.75 0.875 0.625 +0.75 0.875 0.6562 +0.75 0.875 0.6875 +0.75 0.875 0.7188 +0.75 0.875 0.75 +0.75 0.875 0.7812 +0.75 0.875 0.8125 +0.75 0.875 0.8438 +0.75 0.875 0.875 +0.75 0.875 0.9062 +0.75 0.875 0.9375 +0.75 0.875 0.9688 +0.75 0.875 1 +0.75 0.9062 0 +0.75 0.9062 0.03125 +0.75 0.9062 0.0625 +0.75 0.9062 0.09375 +0.75 0.9062 0.125 +0.75 0.9062 0.1562 +0.75 0.9062 0.1875 +0.75 0.9062 0.2188 +0.75 0.9062 0.25 +0.75 0.9062 0.2812 +0.75 0.9062 0.3125 +0.75 0.9062 0.3438 +0.75 0.9062 0.375 +0.75 0.9062 0.4062 +0.75 0.9062 0.4375 +0.75 0.9062 0.4688 +0.75 0.9062 0.5 +0.75 0.9062 0.5312 +0.75 0.9062 0.5625 +0.75 0.9062 0.5938 +0.75 0.9062 0.625 +0.75 0.9062 0.6562 +0.75 0.9062 0.6875 +0.75 0.9062 0.7188 +0.75 0.9062 0.75 +0.75 0.9062 0.7812 +0.75 0.9062 0.8125 +0.75 0.9062 0.8438 +0.75 0.9062 0.875 +0.75 0.9062 0.9062 +0.75 0.9062 0.9375 +0.75 0.9062 0.9688 +0.75 0.9062 1 +0.75 0.9375 0 +0.75 0.9375 0.03125 +0.75 0.9375 0.0625 +0.75 0.9375 0.09375 +0.75 0.9375 0.125 +0.75 0.9375 0.1562 +0.75 0.9375 0.1875 +0.75 0.9375 0.2188 +0.75 0.9375 0.25 +0.75 0.9375 0.2812 +0.75 0.9375 0.3125 +0.75 0.9375 0.3438 +0.75 0.9375 0.375 +0.75 0.9375 0.4062 +0.75 0.9375 0.4375 +0.75 0.9375 0.4688 +0.75 0.9375 0.5 +0.75 0.9375 0.5312 +0.75 0.9375 0.5625 +0.75 0.9375 0.5938 +0.75 0.9375 0.625 +0.75 0.9375 0.6562 +0.75 0.9375 0.6875 +0.75 0.9375 0.7188 +0.75 0.9375 0.75 +0.75 0.9375 0.7812 +0.75 0.9375 0.8125 +0.75 0.9375 0.8438 +0.75 0.9375 0.875 +0.75 0.9375 0.9062 +0.75 0.9375 0.9375 +0.75 0.9375 0.9688 +0.75 0.9375 1 +0.75 0.9688 0 +0.75 0.9688 0.03125 +0.75 0.9688 0.0625 +0.75 0.9688 0.09375 +0.75 0.9688 0.125 +0.75 0.9688 0.1562 +0.75 0.9688 0.1875 +0.75 0.9688 0.2188 +0.75 0.9688 0.25 +0.75 0.9688 0.2812 +0.75 0.9688 0.3125 +0.75 0.9688 0.3438 +0.75 0.9688 0.375 +0.75 0.9688 0.4062 +0.75 0.9688 0.4375 +0.75 0.9688 0.4688 +0.75 0.9688 0.5 +0.75 0.9688 0.5312 +0.75 0.9688 0.5625 +0.75 0.9688 0.5938 +0.75 0.9688 0.625 +0.75 0.9688 0.6562 +0.75 0.9688 0.6875 +0.75 0.9688 0.7188 +0.75 0.9688 0.75 +0.75 0.9688 0.7812 +0.75 0.9688 0.8125 +0.75 0.9688 0.8438 +0.75 0.9688 0.875 +0.75 0.9688 0.9062 +0.75 0.9688 0.9375 +0.75 0.9688 0.9688 +0.75 0.9688 1 +0.75 1 0 +0.75 1 0.03125 +0.75 1 0.0625 +0.75 1 0.09375 +0.75 1 0.125 +0.75 1 0.1562 +0.75 1 0.1875 +0.75 1 0.2188 +0.75 1 0.25 +0.75 1 0.2812 +0.75 1 0.3125 +0.75 1 0.3438 +0.75 1 0.375 +0.75 1 0.4062 +0.75 1 0.4375 +0.75 1 0.4688 +0.75 1 0.5 +0.75 1 0.5312 +0.75 1 0.5625 +0.75 1 0.5938 +0.75 1 0.625 +0.75 1 0.6562 +0.75 1 0.6875 +0.75 1 0.7188 +0.75 1 0.75 +0.75 1 0.7812 +0.75 1 0.8125 +0.75 1 0.8438 +0.75 1 0.875 +0.75 1 0.9062 +0.75 1 0.9375 +0.75 1 0.9688 +0.75 1 1 +0.7812 0 0 +0.7812 0 0.03125 +0.7812 0 0.0625 +0.7812 0 0.09375 +0.7812 0 0.125 +0.7812 0 0.1562 +0.7812 0 0.1875 +0.7812 0 0.2188 +0.7812 0 0.25 +0.7812 0 0.2812 +0.7812 0 0.3125 +0.7812 0 0.3438 +0.7812 0 0.375 +0.7812 0 0.4062 +0.7812 0 0.4375 +0.7812 0 0.4688 +0.7812 0 0.5 +0.7812 0 0.5312 +0.7812 0 0.5625 +0.7812 0 0.5938 +0.7812 0 0.625 +0.7812 0 0.6562 +0.7812 0 0.6875 +0.7812 0 0.7188 +0.7812 0 0.75 +0.7812 0 0.7812 +0.7812 0 0.8125 +0.7812 0 0.8438 +0.7812 0 0.875 +0.7812 0 0.9062 +0.7812 0 0.9375 +0.7812 0 0.9688 +0.7812 0 1 +0.7812 0.03125 0 +0.7812 0.03125 0.03125 +0.7812 0.03125 0.0625 +0.7812 0.03125 0.09375 +0.7812 0.03125 0.125 +0.7812 0.03125 0.1562 +0.7812 0.03125 0.1875 +0.7812 0.03125 0.2188 +0.7812 0.03125 0.25 +0.7812 0.03125 0.2812 +0.7812 0.03125 0.3125 +0.7812 0.03125 0.3438 +0.7812 0.03125 0.375 +0.7812 0.03125 0.4062 +0.7812 0.03125 0.4375 +0.7812 0.03125 0.4688 +0.7812 0.03125 0.5 +0.7812 0.03125 0.5312 +0.7812 0.03125 0.5625 +0.7812 0.03125 0.5938 +0.7812 0.03125 0.625 +0.7812 0.03125 0.6562 +0.7812 0.03125 0.6875 +0.7812 0.03125 0.7188 +0.7812 0.03125 0.75 +0.7812 0.03125 0.7812 +0.7812 0.03125 0.8125 +0.7812 0.03125 0.8438 +0.7812 0.03125 0.875 +0.7812 0.03125 0.9062 +0.7812 0.03125 0.9375 +0.7812 0.03125 0.9688 +0.7812 0.03125 1 +0.7812 0.0625 0 +0.7812 0.0625 0.03125 +0.7812 0.0625 0.0625 +0.7812 0.0625 0.09375 +0.7812 0.0625 0.125 +0.7812 0.0625 0.1562 +0.7812 0.0625 0.1875 +0.7812 0.0625 0.2188 +0.7812 0.0625 0.25 +0.7812 0.0625 0.2812 +0.7812 0.0625 0.3125 +0.7812 0.0625 0.3438 +0.7812 0.0625 0.375 +0.7812 0.0625 0.4062 +0.7812 0.0625 0.4375 +0.7812 0.0625 0.4688 +0.7812 0.0625 0.5 +0.7812 0.0625 0.5312 +0.7812 0.0625 0.5625 +0.7812 0.0625 0.5938 +0.7812 0.0625 0.625 +0.7812 0.0625 0.6562 +0.7812 0.0625 0.6875 +0.7812 0.0625 0.7188 +0.7812 0.0625 0.75 +0.7812 0.0625 0.7812 +0.7812 0.0625 0.8125 +0.7812 0.0625 0.8438 +0.7812 0.0625 0.875 +0.7812 0.0625 0.9062 +0.7812 0.0625 0.9375 +0.7812 0.0625 0.9688 +0.7812 0.0625 1 +0.7812 0.09375 0 +0.7812 0.09375 0.03125 +0.7812 0.09375 0.0625 +0.7812 0.09375 0.09375 +0.7812 0.09375 0.125 +0.7812 0.09375 0.1562 +0.7812 0.09375 0.1875 +0.7812 0.09375 0.2188 +0.7812 0.09375 0.25 +0.7812 0.09375 0.2812 +0.7812 0.09375 0.3125 +0.7812 0.09375 0.3438 +0.7812 0.09375 0.375 +0.7812 0.09375 0.4062 +0.7812 0.09375 0.4375 +0.7812 0.09375 0.4688 +0.7812 0.09375 0.5 +0.7812 0.09375 0.5312 +0.7812 0.09375 0.5625 +0.7812 0.09375 0.5938 +0.7812 0.09375 0.625 +0.7812 0.09375 0.6562 +0.7812 0.09375 0.6875 +0.7812 0.09375 0.7188 +0.7812 0.09375 0.75 +0.7812 0.09375 0.7812 +0.7812 0.09375 0.8125 +0.7812 0.09375 0.8438 +0.7812 0.09375 0.875 +0.7812 0.09375 0.9062 +0.7812 0.09375 0.9375 +0.7812 0.09375 0.9688 +0.7812 0.09375 1 +0.7812 0.125 0 +0.7812 0.125 0.03125 +0.7812 0.125 0.0625 +0.7812 0.125 0.09375 +0.7812 0.125 0.125 +0.7812 0.125 0.1562 +0.7812 0.125 0.1875 +0.7812 0.125 0.2188 +0.7812 0.125 0.25 +0.7812 0.125 0.2812 +0.7812 0.125 0.3125 +0.7812 0.125 0.3438 +0.7812 0.125 0.375 +0.7812 0.125 0.4062 +0.7812 0.125 0.4375 +0.7812 0.125 0.4688 +0.7812 0.125 0.5 +0.7812 0.125 0.5312 +0.7812 0.125 0.5625 +0.7812 0.125 0.5938 +0.7812 0.125 0.625 +0.7812 0.125 0.6562 +0.7812 0.125 0.6875 +0.7812 0.125 0.7188 +0.7812 0.125 0.75 +0.7812 0.125 0.7812 +0.7812 0.125 0.8125 +0.7812 0.125 0.8438 +0.7812 0.125 0.875 +0.7812 0.125 0.9062 +0.7812 0.125 0.9375 +0.7812 0.125 0.9688 +0.7812 0.125 1 +0.7812 0.1562 0 +0.7812 0.1562 0.03125 +0.7812 0.1562 0.0625 +0.7812 0.1562 0.09375 +0.7812 0.1562 0.125 +0.7812 0.1562 0.1562 +0.7812 0.1562 0.1875 +0.7812 0.1562 0.2188 +0.7812 0.1562 0.25 +0.7812 0.1562 0.2812 +0.7812 0.1562 0.3125 +0.7812 0.1562 0.3438 +0.7812 0.1562 0.375 +0.7812 0.1562 0.4062 +0.7812 0.1562 0.4375 +0.7812 0.1562 0.4688 +0.7812 0.1562 0.5 +0.7812 0.1562 0.5312 +0.7812 0.1562 0.5625 +0.7812 0.1562 0.5938 +0.7812 0.1562 0.625 +0.7812 0.1562 0.6562 +0.7812 0.1562 0.6875 +0.7812 0.1562 0.7188 +0.7812 0.1562 0.75 +0.7812 0.1562 0.7812 +0.7812 0.1562 0.8125 +0.7812 0.1562 0.8438 +0.7812 0.1562 0.875 +0.7812 0.1562 0.9062 +0.7812 0.1562 0.9375 +0.7812 0.1562 0.9688 +0.7812 0.1562 1 +0.7812 0.1875 0 +0.7812 0.1875 0.03125 +0.7812 0.1875 0.0625 +0.7812 0.1875 0.09375 +0.7812 0.1875 0.125 +0.7812 0.1875 0.1562 +0.7812 0.1875 0.1875 +0.7812 0.1875 0.2188 +0.7812 0.1875 0.25 +0.7812 0.1875 0.2812 +0.7812 0.1875 0.3125 +0.7812 0.1875 0.3438 +0.7812 0.1875 0.375 +0.7812 0.1875 0.4062 +0.7812 0.1875 0.4375 +0.7812 0.1875 0.4688 +0.7812 0.1875 0.5 +0.7812 0.1875 0.5312 +0.7812 0.1875 0.5625 +0.7812 0.1875 0.5938 +0.7812 0.1875 0.625 +0.7812 0.1875 0.6562 +0.7812 0.1875 0.6875 +0.7812 0.1875 0.7188 +0.7812 0.1875 0.75 +0.7812 0.1875 0.7812 +0.7812 0.1875 0.8125 +0.7812 0.1875 0.8438 +0.7812 0.1875 0.875 +0.7812 0.1875 0.9062 +0.7812 0.1875 0.9375 +0.7812 0.1875 0.9688 +0.7812 0.1875 1 +0.7812 0.2188 0 +0.7812 0.2188 0.03125 +0.7812 0.2188 0.0625 +0.7812 0.2188 0.09375 +0.7812 0.2188 0.125 +0.7812 0.2188 0.1562 +0.7812 0.2188 0.1875 +0.7812 0.2188 0.2188 +0.7812 0.2188 0.25 +0.7812 0.2188 0.2812 +0.7812 0.2188 0.3125 +0.7812 0.2188 0.3438 +0.7812 0.2188 0.375 +0.7812 0.2188 0.4062 +0.7812 0.2188 0.4375 +0.7812 0.2188 0.4688 +0.7812 0.2188 0.5 +0.7812 0.2188 0.5312 +0.7812 0.2188 0.5625 +0.7812 0.2188 0.5938 +0.7812 0.2188 0.625 +0.7812 0.2188 0.6562 +0.7812 0.2188 0.6875 +0.7812 0.2188 0.7188 +0.7812 0.2188 0.75 +0.7812 0.2188 0.7812 +0.7812 0.2188 0.8125 +0.7812 0.2188 0.8438 +0.7812 0.2188 0.875 +0.7812 0.2188 0.9062 +0.7812 0.2188 0.9375 +0.7812 0.2188 0.9688 +0.7812 0.2188 1 +0.7812 0.25 0 +0.7812 0.25 0.03125 +0.7812 0.25 0.0625 +0.7812 0.25 0.09375 +0.7812 0.25 0.125 +0.7812 0.25 0.1562 +0.7812 0.25 0.1875 +0.7812 0.25 0.2188 +0.7812 0.25 0.25 +0.7812 0.25 0.2812 +0.7812 0.25 0.3125 +0.7812 0.25 0.3438 +0.7812 0.25 0.375 +0.7812 0.25 0.4062 +0.7812 0.25 0.4375 +0.7812 0.25 0.4688 +0.7812 0.25 0.5 +0.7812 0.25 0.5312 +0.7812 0.25 0.5625 +0.7812 0.25 0.5938 +0.7812 0.25 0.625 +0.7812 0.25 0.6562 +0.7812 0.25 0.6875 +0.7812 0.25 0.7188 +0.7812 0.25 0.75 +0.7812 0.25 0.7812 +0.7812 0.25 0.8125 +0.7812 0.25 0.8438 +0.7812 0.25 0.875 +0.7812 0.25 0.9062 +0.7812 0.25 0.9375 +0.7812 0.25 0.9688 +0.7812 0.25 1 +0.7812 0.2812 0 +0.7812 0.2812 0.03125 +0.7812 0.2812 0.0625 +0.7812 0.2812 0.09375 +0.7812 0.2812 0.125 +0.7812 0.2812 0.1562 +0.7812 0.2812 0.1875 +0.7812 0.2812 0.2188 +0.7812 0.2812 0.25 +0.7812 0.2812 0.2812 +0.7812 0.2812 0.3125 +0.7812 0.2812 0.3438 +0.7812 0.2812 0.375 +0.7812 0.2812 0.4062 +0.7812 0.2812 0.4375 +0.7812 0.2812 0.4688 +0.7812 0.2812 0.5 +0.7812 0.2812 0.5312 +0.7812 0.2812 0.5625 +0.7812 0.2812 0.5938 +0.7812 0.2812 0.625 +0.7812 0.2812 0.6562 +0.7812 0.2812 0.6875 +0.7812 0.2812 0.7188 +0.7812 0.2812 0.75 +0.7812 0.2812 0.7812 +0.7812 0.2812 0.8125 +0.7812 0.2812 0.8438 +0.7812 0.2812 0.875 +0.7812 0.2812 0.9062 +0.7812 0.2812 0.9375 +0.7812 0.2812 0.9688 +0.7812 0.2812 1 +0.7812 0.3125 0 +0.7812 0.3125 0.03125 +0.7812 0.3125 0.0625 +0.7812 0.3125 0.09375 +0.7812 0.3125 0.125 +0.7812 0.3125 0.1562 +0.7812 0.3125 0.1875 +0.7812 0.3125 0.2188 +0.7812 0.3125 0.25 +0.7812 0.3125 0.2812 +0.7812 0.3125 0.3125 +0.7812 0.3125 0.3438 +0.7812 0.3125 0.375 +0.7812 0.3125 0.4062 +0.7812 0.3125 0.4375 +0.7812 0.3125 0.4688 +0.7812 0.3125 0.5 +0.7812 0.3125 0.5312 +0.7812 0.3125 0.5625 +0.7812 0.3125 0.5938 +0.7812 0.3125 0.625 +0.7812 0.3125 0.6562 +0.7812 0.3125 0.6875 +0.7812 0.3125 0.7188 +0.7812 0.3125 0.75 +0.7812 0.3125 0.7812 +0.7812 0.3125 0.8125 +0.7812 0.3125 0.8438 +0.7812 0.3125 0.875 +0.7812 0.3125 0.9062 +0.7812 0.3125 0.9375 +0.7812 0.3125 0.9688 +0.7812 0.3125 1 +0.7812 0.3438 0 +0.7812 0.3438 0.03125 +0.7812 0.3438 0.0625 +0.7812 0.3438 0.09375 +0.7812 0.3438 0.125 +0.7812 0.3438 0.1562 +0.7812 0.3438 0.1875 +0.7812 0.3438 0.2188 +0.7812 0.3438 0.25 +0.7812 0.3438 0.2812 +0.7812 0.3438 0.3125 +0.7812 0.3438 0.3438 +0.7812 0.3438 0.375 +0.7812 0.3438 0.4062 +0.7812 0.3438 0.4375 +0.7812 0.3438 0.4688 +0.7812 0.3438 0.5 +0.7812 0.3438 0.5312 +0.7812 0.3438 0.5625 +0.7812 0.3438 0.5938 +0.7812 0.3438 0.625 +0.7812 0.3438 0.6562 +0.7812 0.3438 0.6875 +0.7812 0.3438 0.7188 +0.7812 0.3438 0.75 +0.7812 0.3438 0.7812 +0.7812 0.3438 0.8125 +0.7812 0.3438 0.8438 +0.7812 0.3438 0.875 +0.7812 0.3438 0.9062 +0.7812 0.3438 0.9375 +0.7812 0.3438 0.9688 +0.7812 0.3438 1 +0.7812 0.375 0 +0.7812 0.375 0.03125 +0.7812 0.375 0.0625 +0.7812 0.375 0.09375 +0.7812 0.375 0.125 +0.7812 0.375 0.1562 +0.7812 0.375 0.1875 +0.7812 0.375 0.2188 +0.7812 0.375 0.25 +0.7812 0.375 0.2812 +0.7812 0.375 0.3125 +0.7812 0.375 0.3438 +0.7812 0.375 0.375 +0.7812 0.375 0.4062 +0.7812 0.375 0.4375 +0.7812 0.375 0.4688 +0.7812 0.375 0.5 +0.7812 0.375 0.5312 +0.7812 0.375 0.5625 +0.7812 0.375 0.5938 +0.7812 0.375 0.625 +0.7812 0.375 0.6562 +0.7812 0.375 0.6875 +0.7812 0.375 0.7188 +0.7812 0.375 0.75 +0.7812 0.375 0.7812 +0.7812 0.375 0.8125 +0.7812 0.375 0.8438 +0.7812 0.375 0.875 +0.7812 0.375 0.9062 +0.7812 0.375 0.9375 +0.7812 0.375 0.9688 +0.7812 0.375 1 +0.7812 0.4062 0 +0.7812 0.4062 0.03125 +0.7812 0.4062 0.0625 +0.7812 0.4062 0.09375 +0.7812 0.4062 0.125 +0.7812 0.4062 0.1562 +0.7812 0.4062 0.1875 +0.7812 0.4062 0.2188 +0.7812 0.4062 0.25 +0.7812 0.4062 0.2812 +0.7812 0.4062 0.3125 +0.7812 0.4062 0.3438 +0.7812 0.4062 0.375 +0.7812 0.4062 0.4062 +0.7812 0.4062 0.4375 +0.7812 0.4062 0.4688 +0.7812 0.4062 0.5 +0.7812 0.4062 0.5312 +0.7812 0.4062 0.5625 +0.7812 0.4062 0.5938 +0.7812 0.4062 0.625 +0.7812 0.4062 0.6562 +0.7812 0.4062 0.6875 +0.7812 0.4062 0.7188 +0.7812 0.4062 0.75 +0.7812 0.4062 0.7812 +0.7812 0.4062 0.8125 +0.7812 0.4062 0.8438 +0.7812 0.4062 0.875 +0.7812 0.4062 0.9062 +0.7812 0.4062 0.9375 +0.7812 0.4062 0.9688 +0.7812 0.4062 1 +0.7812 0.4375 0 +0.7812 0.4375 0.03125 +0.7812 0.4375 0.0625 +0.7812 0.4375 0.09375 +0.7812 0.4375 0.125 +0.7812 0.4375 0.1562 +0.7812 0.4375 0.1875 +0.7812 0.4375 0.2188 +0.7812 0.4375 0.25 +0.7812 0.4375 0.2812 +0.7812 0.4375 0.3125 +0.7812 0.4375 0.3438 +0.7812 0.4375 0.375 +0.7812 0.4375 0.4062 +0.7812 0.4375 0.4375 +0.7812 0.4375 0.4688 +0.7812 0.4375 0.5 +0.7812 0.4375 0.5312 +0.7812 0.4375 0.5625 +0.7812 0.4375 0.5938 +0.7812 0.4375 0.625 +0.7812 0.4375 0.6562 +0.7812 0.4375 0.6875 +0.7812 0.4375 0.7188 +0.7812 0.4375 0.75 +0.7812 0.4375 0.7812 +0.7812 0.4375 0.8125 +0.7812 0.4375 0.8438 +0.7812 0.4375 0.875 +0.7812 0.4375 0.9062 +0.7812 0.4375 0.9375 +0.7812 0.4375 0.9688 +0.7812 0.4375 1 +0.7812 0.4688 0 +0.7812 0.4688 0.03125 +0.7812 0.4688 0.0625 +0.7812 0.4688 0.09375 +0.7812 0.4688 0.125 +0.7812 0.4688 0.1562 +0.7812 0.4688 0.1875 +0.7812 0.4688 0.2188 +0.7812 0.4688 0.25 +0.7812 0.4688 0.2812 +0.7812 0.4688 0.3125 +0.7812 0.4688 0.3438 +0.7812 0.4688 0.375 +0.7812 0.4688 0.4062 +0.7812 0.4688 0.4375 +0.7812 0.4688 0.4688 +0.7812 0.4688 0.5 +0.7812 0.4688 0.5312 +0.7812 0.4688 0.5625 +0.7812 0.4688 0.5938 +0.7812 0.4688 0.625 +0.7812 0.4688 0.6562 +0.7812 0.4688 0.6875 +0.7812 0.4688 0.7188 +0.7812 0.4688 0.75 +0.7812 0.4688 0.7812 +0.7812 0.4688 0.8125 +0.7812 0.4688 0.8438 +0.7812 0.4688 0.875 +0.7812 0.4688 0.9062 +0.7812 0.4688 0.9375 +0.7812 0.4688 0.9688 +0.7812 0.4688 1 +0.7812 0.5 0 +0.7812 0.5 0.03125 +0.7812 0.5 0.0625 +0.7812 0.5 0.09375 +0.7812 0.5 0.125 +0.7812 0.5 0.1562 +0.7812 0.5 0.1875 +0.7812 0.5 0.2188 +0.7812 0.5 0.25 +0.7812 0.5 0.2812 +0.7812 0.5 0.3125 +0.7812 0.5 0.3438 +0.7812 0.5 0.375 +0.7812 0.5 0.4062 +0.7812 0.5 0.4375 +0.7812 0.5 0.4688 +0.7812 0.5 0.5 +0.7812 0.5 0.5312 +0.7812 0.5 0.5625 +0.7812 0.5 0.5938 +0.7812 0.5 0.625 +0.7812 0.5 0.6562 +0.7812 0.5 0.6875 +0.7812 0.5 0.7188 +0.7812 0.5 0.75 +0.7812 0.5 0.7812 +0.7812 0.5 0.8125 +0.7812 0.5 0.8438 +0.7812 0.5 0.875 +0.7812 0.5 0.9062 +0.7812 0.5 0.9375 +0.7812 0.5 0.9688 +0.7812 0.5 1 +0.7812 0.5312 0 +0.7812 0.5312 0.03125 +0.7812 0.5312 0.0625 +0.7812 0.5312 0.09375 +0.7812 0.5312 0.125 +0.7812 0.5312 0.1562 +0.7812 0.5312 0.1875 +0.7812 0.5312 0.2188 +0.7812 0.5312 0.25 +0.7812 0.5312 0.2812 +0.7812 0.5312 0.3125 +0.7812 0.5312 0.3438 +0.7812 0.5312 0.375 +0.7812 0.5312 0.4062 +0.7812 0.5312 0.4375 +0.7812 0.5312 0.4688 +0.7812 0.5312 0.5 +0.7812 0.5312 0.5312 +0.7812 0.5312 0.5625 +0.7812 0.5312 0.5938 +0.7812 0.5312 0.625 +0.7812 0.5312 0.6562 +0.7812 0.5312 0.6875 +0.7812 0.5312 0.7188 +0.7812 0.5312 0.75 +0.7812 0.5312 0.7812 +0.7812 0.5312 0.8125 +0.7812 0.5312 0.8438 +0.7812 0.5312 0.875 +0.7812 0.5312 0.9062 +0.7812 0.5312 0.9375 +0.7812 0.5312 0.9688 +0.7812 0.5312 1 +0.7812 0.5625 0 +0.7812 0.5625 0.03125 +0.7812 0.5625 0.0625 +0.7812 0.5625 0.09375 +0.7812 0.5625 0.125 +0.7812 0.5625 0.1562 +0.7812 0.5625 0.1875 +0.7812 0.5625 0.2188 +0.7812 0.5625 0.25 +0.7812 0.5625 0.2812 +0.7812 0.5625 0.3125 +0.7812 0.5625 0.3438 +0.7812 0.5625 0.375 +0.7812 0.5625 0.4062 +0.7812 0.5625 0.4375 +0.7812 0.5625 0.4688 +0.7812 0.5625 0.5 +0.7812 0.5625 0.5312 +0.7812 0.5625 0.5625 +0.7812 0.5625 0.5938 +0.7812 0.5625 0.625 +0.7812 0.5625 0.6562 +0.7812 0.5625 0.6875 +0.7812 0.5625 0.7188 +0.7812 0.5625 0.75 +0.7812 0.5625 0.7812 +0.7812 0.5625 0.8125 +0.7812 0.5625 0.8438 +0.7812 0.5625 0.875 +0.7812 0.5625 0.9062 +0.7812 0.5625 0.9375 +0.7812 0.5625 0.9688 +0.7812 0.5625 1 +0.7812 0.5938 0 +0.7812 0.5938 0.03125 +0.7812 0.5938 0.0625 +0.7812 0.5938 0.09375 +0.7812 0.5938 0.125 +0.7812 0.5938 0.1562 +0.7812 0.5938 0.1875 +0.7812 0.5938 0.2188 +0.7812 0.5938 0.25 +0.7812 0.5938 0.2812 +0.7812 0.5938 0.3125 +0.7812 0.5938 0.3438 +0.7812 0.5938 0.375 +0.7812 0.5938 0.4062 +0.7812 0.5938 0.4375 +0.7812 0.5938 0.4688 +0.7812 0.5938 0.5 +0.7812 0.5938 0.5312 +0.7812 0.5938 0.5625 +0.7812 0.5938 0.5938 +0.7812 0.5938 0.625 +0.7812 0.5938 0.6562 +0.7812 0.5938 0.6875 +0.7812 0.5938 0.7188 +0.7812 0.5938 0.75 +0.7812 0.5938 0.7812 +0.7812 0.5938 0.8125 +0.7812 0.5938 0.8438 +0.7812 0.5938 0.875 +0.7812 0.5938 0.9062 +0.7812 0.5938 0.9375 +0.7812 0.5938 0.9688 +0.7812 0.5938 1 +0.7812 0.625 0 +0.7812 0.625 0.03125 +0.7812 0.625 0.0625 +0.7812 0.625 0.09375 +0.7812 0.625 0.125 +0.7812 0.625 0.1562 +0.7812 0.625 0.1875 +0.7812 0.625 0.2188 +0.7812 0.625 0.25 +0.7812 0.625 0.2812 +0.7812 0.625 0.3125 +0.7812 0.625 0.3438 +0.7812 0.625 0.375 +0.7812 0.625 0.4062 +0.7812 0.625 0.4375 +0.7812 0.625 0.4688 +0.7812 0.625 0.5 +0.7812 0.625 0.5312 +0.7812 0.625 0.5625 +0.7812 0.625 0.5938 +0.7812 0.625 0.625 +0.7812 0.625 0.6562 +0.7812 0.625 0.6875 +0.7812 0.625 0.7188 +0.7812 0.625 0.75 +0.7812 0.625 0.7812 +0.7812 0.625 0.8125 +0.7812 0.625 0.8438 +0.7812 0.625 0.875 +0.7812 0.625 0.9062 +0.7812 0.625 0.9375 +0.7812 0.625 0.9688 +0.7812 0.625 1 +0.7812 0.6562 0 +0.7812 0.6562 0.03125 +0.7812 0.6562 0.0625 +0.7812 0.6562 0.09375 +0.7812 0.6562 0.125 +0.7812 0.6562 0.1562 +0.7812 0.6562 0.1875 +0.7812 0.6562 0.2188 +0.7812 0.6562 0.25 +0.7812 0.6562 0.2812 +0.7812 0.6562 0.3125 +0.7812 0.6562 0.3438 +0.7812 0.6562 0.375 +0.7812 0.6562 0.4062 +0.7812 0.6562 0.4375 +0.7812 0.6562 0.4688 +0.7812 0.6562 0.5 +0.7812 0.6562 0.5312 +0.7812 0.6562 0.5625 +0.7812 0.6562 0.5938 +0.7812 0.6562 0.625 +0.7812 0.6562 0.6562 +0.7812 0.6562 0.6875 +0.7812 0.6562 0.7188 +0.7812 0.6562 0.75 +0.7812 0.6562 0.7812 +0.7812 0.6562 0.8125 +0.7812 0.6562 0.8438 +0.7812 0.6562 0.875 +0.7812 0.6562 0.9062 +0.7812 0.6562 0.9375 +0.7812 0.6562 0.9688 +0.7812 0.6562 1 +0.7812 0.6875 0 +0.7812 0.6875 0.03125 +0.7812 0.6875 0.0625 +0.7812 0.6875 0.09375 +0.7812 0.6875 0.125 +0.7812 0.6875 0.1562 +0.7812 0.6875 0.1875 +0.7812 0.6875 0.2188 +0.7812 0.6875 0.25 +0.7812 0.6875 0.2812 +0.7812 0.6875 0.3125 +0.7812 0.6875 0.3438 +0.7812 0.6875 0.375 +0.7812 0.6875 0.4062 +0.7812 0.6875 0.4375 +0.7812 0.6875 0.4688 +0.7812 0.6875 0.5 +0.7812 0.6875 0.5312 +0.7812 0.6875 0.5625 +0.7812 0.6875 0.5938 +0.7812 0.6875 0.625 +0.7812 0.6875 0.6562 +0.7812 0.6875 0.6875 +0.7812 0.6875 0.7188 +0.7812 0.6875 0.75 +0.7812 0.6875 0.7812 +0.7812 0.6875 0.8125 +0.7812 0.6875 0.8438 +0.7812 0.6875 0.875 +0.7812 0.6875 0.9062 +0.7812 0.6875 0.9375 +0.7812 0.6875 0.9688 +0.7812 0.6875 1 +0.7812 0.7188 0 +0.7812 0.7188 0.03125 +0.7812 0.7188 0.0625 +0.7812 0.7188 0.09375 +0.7812 0.7188 0.125 +0.7812 0.7188 0.1562 +0.7812 0.7188 0.1875 +0.7812 0.7188 0.2188 +0.7812 0.7188 0.25 +0.7812 0.7188 0.2812 +0.7812 0.7188 0.3125 +0.7812 0.7188 0.3438 +0.7812 0.7188 0.375 +0.7812 0.7188 0.4062 +0.7812 0.7188 0.4375 +0.7812 0.7188 0.4688 +0.7812 0.7188 0.5 +0.7812 0.7188 0.5312 +0.7812 0.7188 0.5625 +0.7812 0.7188 0.5938 +0.7812 0.7188 0.625 +0.7812 0.7188 0.6562 +0.7812 0.7188 0.6875 +0.7812 0.7188 0.7188 +0.7812 0.7188 0.75 +0.7812 0.7188 0.7812 +0.7812 0.7188 0.8125 +0.7812 0.7188 0.8438 +0.7812 0.7188 0.875 +0.7812 0.7188 0.9062 +0.7812 0.7188 0.9375 +0.7812 0.7188 0.9688 +0.7812 0.7188 1 +0.7812 0.75 0 +0.7812 0.75 0.03125 +0.7812 0.75 0.0625 +0.7812 0.75 0.09375 +0.7812 0.75 0.125 +0.7812 0.75 0.1562 +0.7812 0.75 0.1875 +0.7812 0.75 0.2188 +0.7812 0.75 0.25 +0.7812 0.75 0.2812 +0.7812 0.75 0.3125 +0.7812 0.75 0.3438 +0.7812 0.75 0.375 +0.7812 0.75 0.4062 +0.7812 0.75 0.4375 +0.7812 0.75 0.4688 +0.7812 0.75 0.5 +0.7812 0.75 0.5312 +0.7812 0.75 0.5625 +0.7812 0.75 0.5938 +0.7812 0.75 0.625 +0.7812 0.75 0.6562 +0.7812 0.75 0.6875 +0.7812 0.75 0.7188 +0.7812 0.75 0.75 +0.7812 0.75 0.7812 +0.7812 0.75 0.8125 +0.7812 0.75 0.8438 +0.7812 0.75 0.875 +0.7812 0.75 0.9062 +0.7812 0.75 0.9375 +0.7812 0.75 0.9688 +0.7812 0.75 1 +0.7812 0.7812 0 +0.7812 0.7812 0.03125 +0.7812 0.7812 0.0625 +0.7812 0.7812 0.09375 +0.7812 0.7812 0.125 +0.7812 0.7812 0.1562 +0.7812 0.7812 0.1875 +0.7812 0.7812 0.2188 +0.7812 0.7812 0.25 +0.7812 0.7812 0.2812 +0.7812 0.7812 0.3125 +0.7812 0.7812 0.3438 +0.7812 0.7812 0.375 +0.7812 0.7812 0.4062 +0.7812 0.7812 0.4375 +0.7812 0.7812 0.4688 +0.7812 0.7812 0.5 +0.7812 0.7812 0.5312 +0.7812 0.7812 0.5625 +0.7812 0.7812 0.5938 +0.7812 0.7812 0.625 +0.7812 0.7812 0.6562 +0.7812 0.7812 0.6875 +0.7812 0.7812 0.7188 +0.7812 0.7812 0.75 +0.7812 0.7812 0.7812 +0.7812 0.7812 0.8125 +0.7812 0.7812 0.8438 +0.7812 0.7812 0.875 +0.7812 0.7812 0.9062 +0.7812 0.7812 0.9375 +0.7812 0.7812 0.9688 +0.7812 0.7812 1 +0.7812 0.8125 0 +0.7812 0.8125 0.03125 +0.7812 0.8125 0.0625 +0.7812 0.8125 0.09375 +0.7812 0.8125 0.125 +0.7812 0.8125 0.1562 +0.7812 0.8125 0.1875 +0.7812 0.8125 0.2188 +0.7812 0.8125 0.25 +0.7812 0.8125 0.2812 +0.7812 0.8125 0.3125 +0.7812 0.8125 0.3438 +0.7812 0.8125 0.375 +0.7812 0.8125 0.4062 +0.7812 0.8125 0.4375 +0.7812 0.8125 0.4688 +0.7812 0.8125 0.5 +0.7812 0.8125 0.5312 +0.7812 0.8125 0.5625 +0.7812 0.8125 0.5938 +0.7812 0.8125 0.625 +0.7812 0.8125 0.6562 +0.7812 0.8125 0.6875 +0.7812 0.8125 0.7188 +0.7812 0.8125 0.75 +0.7812 0.8125 0.7812 +0.7812 0.8125 0.8125 +0.7812 0.8125 0.8438 +0.7812 0.8125 0.875 +0.7812 0.8125 0.9062 +0.7812 0.8125 0.9375 +0.7812 0.8125 0.9688 +0.7812 0.8125 1 +0.7812 0.8438 0 +0.7812 0.8438 0.03125 +0.7812 0.8438 0.0625 +0.7812 0.8438 0.09375 +0.7812 0.8438 0.125 +0.7812 0.8438 0.1562 +0.7812 0.8438 0.1875 +0.7812 0.8438 0.2188 +0.7812 0.8438 0.25 +0.7812 0.8438 0.2812 +0.7812 0.8438 0.3125 +0.7812 0.8438 0.3438 +0.7812 0.8438 0.375 +0.7812 0.8438 0.4062 +0.7812 0.8438 0.4375 +0.7812 0.8438 0.4688 +0.7812 0.8438 0.5 +0.7812 0.8438 0.5312 +0.7812 0.8438 0.5625 +0.7812 0.8438 0.5938 +0.7812 0.8438 0.625 +0.7812 0.8438 0.6562 +0.7812 0.8438 0.6875 +0.7812 0.8438 0.7188 +0.7812 0.8438 0.75 +0.7812 0.8438 0.7812 +0.7812 0.8438 0.8125 +0.7812 0.8438 0.8438 +0.7812 0.8438 0.875 +0.7812 0.8438 0.9062 +0.7812 0.8438 0.9375 +0.7812 0.8438 0.9688 +0.7812 0.8438 1 +0.7812 0.875 0 +0.7812 0.875 0.03125 +0.7812 0.875 0.0625 +0.7812 0.875 0.09375 +0.7812 0.875 0.125 +0.7812 0.875 0.1562 +0.7812 0.875 0.1875 +0.7812 0.875 0.2188 +0.7812 0.875 0.25 +0.7812 0.875 0.2812 +0.7812 0.875 0.3125 +0.7812 0.875 0.3438 +0.7812 0.875 0.375 +0.7812 0.875 0.4062 +0.7812 0.875 0.4375 +0.7812 0.875 0.4688 +0.7812 0.875 0.5 +0.7812 0.875 0.5312 +0.7812 0.875 0.5625 +0.7812 0.875 0.5938 +0.7812 0.875 0.625 +0.7812 0.875 0.6562 +0.7812 0.875 0.6875 +0.7812 0.875 0.7188 +0.7812 0.875 0.75 +0.7812 0.875 0.7812 +0.7812 0.875 0.8125 +0.7812 0.875 0.8438 +0.7812 0.875 0.875 +0.7812 0.875 0.9062 +0.7812 0.875 0.9375 +0.7812 0.875 0.9688 +0.7812 0.875 1 +0.7812 0.9062 0 +0.7812 0.9062 0.03125 +0.7812 0.9062 0.0625 +0.7812 0.9062 0.09375 +0.7812 0.9062 0.125 +0.7812 0.9062 0.1562 +0.7812 0.9062 0.1875 +0.7812 0.9062 0.2188 +0.7812 0.9062 0.25 +0.7812 0.9062 0.2812 +0.7812 0.9062 0.3125 +0.7812 0.9062 0.3438 +0.7812 0.9062 0.375 +0.7812 0.9062 0.4062 +0.7812 0.9062 0.4375 +0.7812 0.9062 0.4688 +0.7812 0.9062 0.5 +0.7812 0.9062 0.5312 +0.7812 0.9062 0.5625 +0.7812 0.9062 0.5938 +0.7812 0.9062 0.625 +0.7812 0.9062 0.6562 +0.7812 0.9062 0.6875 +0.7812 0.9062 0.7188 +0.7812 0.9062 0.75 +0.7812 0.9062 0.7812 +0.7812 0.9062 0.8125 +0.7812 0.9062 0.8438 +0.7812 0.9062 0.875 +0.7812 0.9062 0.9062 +0.7812 0.9062 0.9375 +0.7812 0.9062 0.9688 +0.7812 0.9062 1 +0.7812 0.9375 0 +0.7812 0.9375 0.03125 +0.7812 0.9375 0.0625 +0.7812 0.9375 0.09375 +0.7812 0.9375 0.125 +0.7812 0.9375 0.1562 +0.7812 0.9375 0.1875 +0.7812 0.9375 0.2188 +0.7812 0.9375 0.25 +0.7812 0.9375 0.2812 +0.7812 0.9375 0.3125 +0.7812 0.9375 0.3438 +0.7812 0.9375 0.375 +0.7812 0.9375 0.4062 +0.7812 0.9375 0.4375 +0.7812 0.9375 0.4688 +0.7812 0.9375 0.5 +0.7812 0.9375 0.5312 +0.7812 0.9375 0.5625 +0.7812 0.9375 0.5938 +0.7812 0.9375 0.625 +0.7812 0.9375 0.6562 +0.7812 0.9375 0.6875 +0.7812 0.9375 0.7188 +0.7812 0.9375 0.75 +0.7812 0.9375 0.7812 +0.7812 0.9375 0.8125 +0.7812 0.9375 0.8438 +0.7812 0.9375 0.875 +0.7812 0.9375 0.9062 +0.7812 0.9375 0.9375 +0.7812 0.9375 0.9688 +0.7812 0.9375 1 +0.7812 0.9688 0 +0.7812 0.9688 0.03125 +0.7812 0.9688 0.0625 +0.7812 0.9688 0.09375 +0.7812 0.9688 0.125 +0.7812 0.9688 0.1562 +0.7812 0.9688 0.1875 +0.7812 0.9688 0.2188 +0.7812 0.9688 0.25 +0.7812 0.9688 0.2812 +0.7812 0.9688 0.3125 +0.7812 0.9688 0.3438 +0.7812 0.9688 0.375 +0.7812 0.9688 0.4062 +0.7812 0.9688 0.4375 +0.7812 0.9688 0.4688 +0.7812 0.9688 0.5 +0.7812 0.9688 0.5312 +0.7812 0.9688 0.5625 +0.7812 0.9688 0.5938 +0.7812 0.9688 0.625 +0.7812 0.9688 0.6562 +0.7812 0.9688 0.6875 +0.7812 0.9688 0.7188 +0.7812 0.9688 0.75 +0.7812 0.9688 0.7812 +0.7812 0.9688 0.8125 +0.7812 0.9688 0.8438 +0.7812 0.9688 0.875 +0.7812 0.9688 0.9062 +0.7812 0.9688 0.9375 +0.7812 0.9688 0.9688 +0.7812 0.9688 1 +0.7812 1 0 +0.7812 1 0.03125 +0.7812 1 0.0625 +0.7812 1 0.09375 +0.7812 1 0.125 +0.7812 1 0.1562 +0.7812 1 0.1875 +0.7812 1 0.2188 +0.7812 1 0.25 +0.7812 1 0.2812 +0.7812 1 0.3125 +0.7812 1 0.3438 +0.7812 1 0.375 +0.7812 1 0.4062 +0.7812 1 0.4375 +0.7812 1 0.4688 +0.7812 1 0.5 +0.7812 1 0.5312 +0.7812 1 0.5625 +0.7812 1 0.5938 +0.7812 1 0.625 +0.7812 1 0.6562 +0.7812 1 0.6875 +0.7812 1 0.7188 +0.7812 1 0.75 +0.7812 1 0.7812 +0.7812 1 0.8125 +0.7812 1 0.8438 +0.7812 1 0.875 +0.7812 1 0.9062 +0.7812 1 0.9375 +0.7812 1 0.9688 +0.7812 1 1 +0.8125 0 0 +0.8125 0 0.03125 +0.8125 0 0.0625 +0.8125 0 0.09375 +0.8125 0 0.125 +0.8125 0 0.1562 +0.8125 0 0.1875 +0.8125 0 0.2188 +0.8125 0 0.25 +0.8125 0 0.2812 +0.8125 0 0.3125 +0.8125 0 0.3438 +0.8125 0 0.375 +0.8125 0 0.4062 +0.8125 0 0.4375 +0.8125 0 0.4688 +0.8125 0 0.5 +0.8125 0 0.5312 +0.8125 0 0.5625 +0.8125 0 0.5938 +0.8125 0 0.625 +0.8125 0 0.6562 +0.8125 0 0.6875 +0.8125 0 0.7188 +0.8125 0 0.75 +0.8125 0 0.7812 +0.8125 0 0.8125 +0.8125 0 0.8438 +0.8125 0 0.875 +0.8125 0 0.9062 +0.8125 0 0.9375 +0.8125 0 0.9688 +0.8125 0 1 +0.8125 0.03125 0 +0.8125 0.03125 0.03125 +0.8125 0.03125 0.0625 +0.8125 0.03125 0.09375 +0.8125 0.03125 0.125 +0.8125 0.03125 0.1562 +0.8125 0.03125 0.1875 +0.8125 0.03125 0.2188 +0.8125 0.03125 0.25 +0.8125 0.03125 0.2812 +0.8125 0.03125 0.3125 +0.8125 0.03125 0.3438 +0.8125 0.03125 0.375 +0.8125 0.03125 0.4062 +0.8125 0.03125 0.4375 +0.8125 0.03125 0.4688 +0.8125 0.03125 0.5 +0.8125 0.03125 0.5312 +0.8125 0.03125 0.5625 +0.8125 0.03125 0.5938 +0.8125 0.03125 0.625 +0.8125 0.03125 0.6562 +0.8125 0.03125 0.6875 +0.8125 0.03125 0.7188 +0.8125 0.03125 0.75 +0.8125 0.03125 0.7812 +0.8125 0.03125 0.8125 +0.8125 0.03125 0.8438 +0.8125 0.03125 0.875 +0.8125 0.03125 0.9062 +0.8125 0.03125 0.9375 +0.8125 0.03125 0.9688 +0.8125 0.03125 1 +0.8125 0.0625 0 +0.8125 0.0625 0.03125 +0.8125 0.0625 0.0625 +0.8125 0.0625 0.09375 +0.8125 0.0625 0.125 +0.8125 0.0625 0.1562 +0.8125 0.0625 0.1875 +0.8125 0.0625 0.2188 +0.8125 0.0625 0.25 +0.8125 0.0625 0.2812 +0.8125 0.0625 0.3125 +0.8125 0.0625 0.3438 +0.8125 0.0625 0.375 +0.8125 0.0625 0.4062 +0.8125 0.0625 0.4375 +0.8125 0.0625 0.4688 +0.8125 0.0625 0.5 +0.8125 0.0625 0.5312 +0.8125 0.0625 0.5625 +0.8125 0.0625 0.5938 +0.8125 0.0625 0.625 +0.8125 0.0625 0.6562 +0.8125 0.0625 0.6875 +0.8125 0.0625 0.7188 +0.8125 0.0625 0.75 +0.8125 0.0625 0.7812 +0.8125 0.0625 0.8125 +0.8125 0.0625 0.8438 +0.8125 0.0625 0.875 +0.8125 0.0625 0.9062 +0.8125 0.0625 0.9375 +0.8125 0.0625 0.9688 +0.8125 0.0625 1 +0.8125 0.09375 0 +0.8125 0.09375 0.03125 +0.8125 0.09375 0.0625 +0.8125 0.09375 0.09375 +0.8125 0.09375 0.125 +0.8125 0.09375 0.1562 +0.8125 0.09375 0.1875 +0.8125 0.09375 0.2188 +0.8125 0.09375 0.25 +0.8125 0.09375 0.2812 +0.8125 0.09375 0.3125 +0.8125 0.09375 0.3438 +0.8125 0.09375 0.375 +0.8125 0.09375 0.4062 +0.8125 0.09375 0.4375 +0.8125 0.09375 0.4688 +0.8125 0.09375 0.5 +0.8125 0.09375 0.5312 +0.8125 0.09375 0.5625 +0.8125 0.09375 0.5938 +0.8125 0.09375 0.625 +0.8125 0.09375 0.6562 +0.8125 0.09375 0.6875 +0.8125 0.09375 0.7188 +0.8125 0.09375 0.75 +0.8125 0.09375 0.7812 +0.8125 0.09375 0.8125 +0.8125 0.09375 0.8438 +0.8125 0.09375 0.875 +0.8125 0.09375 0.9062 +0.8125 0.09375 0.9375 +0.8125 0.09375 0.9688 +0.8125 0.09375 1 +0.8125 0.125 0 +0.8125 0.125 0.03125 +0.8125 0.125 0.0625 +0.8125 0.125 0.09375 +0.8125 0.125 0.125 +0.8125 0.125 0.1562 +0.8125 0.125 0.1875 +0.8125 0.125 0.2188 +0.8125 0.125 0.25 +0.8125 0.125 0.2812 +0.8125 0.125 0.3125 +0.8125 0.125 0.3438 +0.8125 0.125 0.375 +0.8125 0.125 0.4062 +0.8125 0.125 0.4375 +0.8125 0.125 0.4688 +0.8125 0.125 0.5 +0.8125 0.125 0.5312 +0.8125 0.125 0.5625 +0.8125 0.125 0.5938 +0.8125 0.125 0.625 +0.8125 0.125 0.6562 +0.8125 0.125 0.6875 +0.8125 0.125 0.7188 +0.8125 0.125 0.75 +0.8125 0.125 0.7812 +0.8125 0.125 0.8125 +0.8125 0.125 0.8438 +0.8125 0.125 0.875 +0.8125 0.125 0.9062 +0.8125 0.125 0.9375 +0.8125 0.125 0.9688 +0.8125 0.125 1 +0.8125 0.1562 0 +0.8125 0.1562 0.03125 +0.8125 0.1562 0.0625 +0.8125 0.1562 0.09375 +0.8125 0.1562 0.125 +0.8125 0.1562 0.1562 +0.8125 0.1562 0.1875 +0.8125 0.1562 0.2188 +0.8125 0.1562 0.25 +0.8125 0.1562 0.2812 +0.8125 0.1562 0.3125 +0.8125 0.1562 0.3438 +0.8125 0.1562 0.375 +0.8125 0.1562 0.4062 +0.8125 0.1562 0.4375 +0.8125 0.1562 0.4688 +0.8125 0.1562 0.5 +0.8125 0.1562 0.5312 +0.8125 0.1562 0.5625 +0.8125 0.1562 0.5938 +0.8125 0.1562 0.625 +0.8125 0.1562 0.6562 +0.8125 0.1562 0.6875 +0.8125 0.1562 0.7188 +0.8125 0.1562 0.75 +0.8125 0.1562 0.7812 +0.8125 0.1562 0.8125 +0.8125 0.1562 0.8438 +0.8125 0.1562 0.875 +0.8125 0.1562 0.9062 +0.8125 0.1562 0.9375 +0.8125 0.1562 0.9688 +0.8125 0.1562 1 +0.8125 0.1875 0 +0.8125 0.1875 0.03125 +0.8125 0.1875 0.0625 +0.8125 0.1875 0.09375 +0.8125 0.1875 0.125 +0.8125 0.1875 0.1562 +0.8125 0.1875 0.1875 +0.8125 0.1875 0.2188 +0.8125 0.1875 0.25 +0.8125 0.1875 0.2812 +0.8125 0.1875 0.3125 +0.8125 0.1875 0.3438 +0.8125 0.1875 0.375 +0.8125 0.1875 0.4062 +0.8125 0.1875 0.4375 +0.8125 0.1875 0.4688 +0.8125 0.1875 0.5 +0.8125 0.1875 0.5312 +0.8125 0.1875 0.5625 +0.8125 0.1875 0.5938 +0.8125 0.1875 0.625 +0.8125 0.1875 0.6562 +0.8125 0.1875 0.6875 +0.8125 0.1875 0.7188 +0.8125 0.1875 0.75 +0.8125 0.1875 0.7812 +0.8125 0.1875 0.8125 +0.8125 0.1875 0.8438 +0.8125 0.1875 0.875 +0.8125 0.1875 0.9062 +0.8125 0.1875 0.9375 +0.8125 0.1875 0.9688 +0.8125 0.1875 1 +0.8125 0.2188 0 +0.8125 0.2188 0.03125 +0.8125 0.2188 0.0625 +0.8125 0.2188 0.09375 +0.8125 0.2188 0.125 +0.8125 0.2188 0.1562 +0.8125 0.2188 0.1875 +0.8125 0.2188 0.2188 +0.8125 0.2188 0.25 +0.8125 0.2188 0.2812 +0.8125 0.2188 0.3125 +0.8125 0.2188 0.3438 +0.8125 0.2188 0.375 +0.8125 0.2188 0.4062 +0.8125 0.2188 0.4375 +0.8125 0.2188 0.4688 +0.8125 0.2188 0.5 +0.8125 0.2188 0.5312 +0.8125 0.2188 0.5625 +0.8125 0.2188 0.5938 +0.8125 0.2188 0.625 +0.8125 0.2188 0.6562 +0.8125 0.2188 0.6875 +0.8125 0.2188 0.7188 +0.8125 0.2188 0.75 +0.8125 0.2188 0.7812 +0.8125 0.2188 0.8125 +0.8125 0.2188 0.8438 +0.8125 0.2188 0.875 +0.8125 0.2188 0.9062 +0.8125 0.2188 0.9375 +0.8125 0.2188 0.9688 +0.8125 0.2188 1 +0.8125 0.25 0 +0.8125 0.25 0.03125 +0.8125 0.25 0.0625 +0.8125 0.25 0.09375 +0.8125 0.25 0.125 +0.8125 0.25 0.1562 +0.8125 0.25 0.1875 +0.8125 0.25 0.2188 +0.8125 0.25 0.25 +0.8125 0.25 0.2812 +0.8125 0.25 0.3125 +0.8125 0.25 0.3438 +0.8125 0.25 0.375 +0.8125 0.25 0.4062 +0.8125 0.25 0.4375 +0.8125 0.25 0.4688 +0.8125 0.25 0.5 +0.8125 0.25 0.5312 +0.8125 0.25 0.5625 +0.8125 0.25 0.5938 +0.8125 0.25 0.625 +0.8125 0.25 0.6562 +0.8125 0.25 0.6875 +0.8125 0.25 0.7188 +0.8125 0.25 0.75 +0.8125 0.25 0.7812 +0.8125 0.25 0.8125 +0.8125 0.25 0.8438 +0.8125 0.25 0.875 +0.8125 0.25 0.9062 +0.8125 0.25 0.9375 +0.8125 0.25 0.9688 +0.8125 0.25 1 +0.8125 0.2812 0 +0.8125 0.2812 0.03125 +0.8125 0.2812 0.0625 +0.8125 0.2812 0.09375 +0.8125 0.2812 0.125 +0.8125 0.2812 0.1562 +0.8125 0.2812 0.1875 +0.8125 0.2812 0.2188 +0.8125 0.2812 0.25 +0.8125 0.2812 0.2812 +0.8125 0.2812 0.3125 +0.8125 0.2812 0.3438 +0.8125 0.2812 0.375 +0.8125 0.2812 0.4062 +0.8125 0.2812 0.4375 +0.8125 0.2812 0.4688 +0.8125 0.2812 0.5 +0.8125 0.2812 0.5312 +0.8125 0.2812 0.5625 +0.8125 0.2812 0.5938 +0.8125 0.2812 0.625 +0.8125 0.2812 0.6562 +0.8125 0.2812 0.6875 +0.8125 0.2812 0.7188 +0.8125 0.2812 0.75 +0.8125 0.2812 0.7812 +0.8125 0.2812 0.8125 +0.8125 0.2812 0.8438 +0.8125 0.2812 0.875 +0.8125 0.2812 0.9062 +0.8125 0.2812 0.9375 +0.8125 0.2812 0.9688 +0.8125 0.2812 1 +0.8125 0.3125 0 +0.8125 0.3125 0.03125 +0.8125 0.3125 0.0625 +0.8125 0.3125 0.09375 +0.8125 0.3125 0.125 +0.8125 0.3125 0.1562 +0.8125 0.3125 0.1875 +0.8125 0.3125 0.2188 +0.8125 0.3125 0.25 +0.8125 0.3125 0.2812 +0.8125 0.3125 0.3125 +0.8125 0.3125 0.3438 +0.8125 0.3125 0.375 +0.8125 0.3125 0.4062 +0.8125 0.3125 0.4375 +0.8125 0.3125 0.4688 +0.8125 0.3125 0.5 +0.8125 0.3125 0.5312 +0.8125 0.3125 0.5625 +0.8125 0.3125 0.5938 +0.8125 0.3125 0.625 +0.8125 0.3125 0.6562 +0.8125 0.3125 0.6875 +0.8125 0.3125 0.7188 +0.8125 0.3125 0.75 +0.8125 0.3125 0.7812 +0.8125 0.3125 0.8125 +0.8125 0.3125 0.8438 +0.8125 0.3125 0.875 +0.8125 0.3125 0.9062 +0.8125 0.3125 0.9375 +0.8125 0.3125 0.9688 +0.8125 0.3125 1 +0.8125 0.3438 0 +0.8125 0.3438 0.03125 +0.8125 0.3438 0.0625 +0.8125 0.3438 0.09375 +0.8125 0.3438 0.125 +0.8125 0.3438 0.1562 +0.8125 0.3438 0.1875 +0.8125 0.3438 0.2188 +0.8125 0.3438 0.25 +0.8125 0.3438 0.2812 +0.8125 0.3438 0.3125 +0.8125 0.3438 0.3438 +0.8125 0.3438 0.375 +0.8125 0.3438 0.4062 +0.8125 0.3438 0.4375 +0.8125 0.3438 0.4688 +0.8125 0.3438 0.5 +0.8125 0.3438 0.5312 +0.8125 0.3438 0.5625 +0.8125 0.3438 0.5938 +0.8125 0.3438 0.625 +0.8125 0.3438 0.6562 +0.8125 0.3438 0.6875 +0.8125 0.3438 0.7188 +0.8125 0.3438 0.75 +0.8125 0.3438 0.7812 +0.8125 0.3438 0.8125 +0.8125 0.3438 0.8438 +0.8125 0.3438 0.875 +0.8125 0.3438 0.9062 +0.8125 0.3438 0.9375 +0.8125 0.3438 0.9688 +0.8125 0.3438 1 +0.8125 0.375 0 +0.8125 0.375 0.03125 +0.8125 0.375 0.0625 +0.8125 0.375 0.09375 +0.8125 0.375 0.125 +0.8125 0.375 0.1562 +0.8125 0.375 0.1875 +0.8125 0.375 0.2188 +0.8125 0.375 0.25 +0.8125 0.375 0.2812 +0.8125 0.375 0.3125 +0.8125 0.375 0.3438 +0.8125 0.375 0.375 +0.8125 0.375 0.4062 +0.8125 0.375 0.4375 +0.8125 0.375 0.4688 +0.8125 0.375 0.5 +0.8125 0.375 0.5312 +0.8125 0.375 0.5625 +0.8125 0.375 0.5938 +0.8125 0.375 0.625 +0.8125 0.375 0.6562 +0.8125 0.375 0.6875 +0.8125 0.375 0.7188 +0.8125 0.375 0.75 +0.8125 0.375 0.7812 +0.8125 0.375 0.8125 +0.8125 0.375 0.8438 +0.8125 0.375 0.875 +0.8125 0.375 0.9062 +0.8125 0.375 0.9375 +0.8125 0.375 0.9688 +0.8125 0.375 1 +0.8125 0.4062 0 +0.8125 0.4062 0.03125 +0.8125 0.4062 0.0625 +0.8125 0.4062 0.09375 +0.8125 0.4062 0.125 +0.8125 0.4062 0.1562 +0.8125 0.4062 0.1875 +0.8125 0.4062 0.2188 +0.8125 0.4062 0.25 +0.8125 0.4062 0.2812 +0.8125 0.4062 0.3125 +0.8125 0.4062 0.3438 +0.8125 0.4062 0.375 +0.8125 0.4062 0.4062 +0.8125 0.4062 0.4375 +0.8125 0.4062 0.4688 +0.8125 0.4062 0.5 +0.8125 0.4062 0.5312 +0.8125 0.4062 0.5625 +0.8125 0.4062 0.5938 +0.8125 0.4062 0.625 +0.8125 0.4062 0.6562 +0.8125 0.4062 0.6875 +0.8125 0.4062 0.7188 +0.8125 0.4062 0.75 +0.8125 0.4062 0.7812 +0.8125 0.4062 0.8125 +0.8125 0.4062 0.8438 +0.8125 0.4062 0.875 +0.8125 0.4062 0.9062 +0.8125 0.4062 0.9375 +0.8125 0.4062 0.9688 +0.8125 0.4062 1 +0.8125 0.4375 0 +0.8125 0.4375 0.03125 +0.8125 0.4375 0.0625 +0.8125 0.4375 0.09375 +0.8125 0.4375 0.125 +0.8125 0.4375 0.1562 +0.8125 0.4375 0.1875 +0.8125 0.4375 0.2188 +0.8125 0.4375 0.25 +0.8125 0.4375 0.2812 +0.8125 0.4375 0.3125 +0.8125 0.4375 0.3438 +0.8125 0.4375 0.375 +0.8125 0.4375 0.4062 +0.8125 0.4375 0.4375 +0.8125 0.4375 0.4688 +0.8125 0.4375 0.5 +0.8125 0.4375 0.5312 +0.8125 0.4375 0.5625 +0.8125 0.4375 0.5938 +0.8125 0.4375 0.625 +0.8125 0.4375 0.6562 +0.8125 0.4375 0.6875 +0.8125 0.4375 0.7188 +0.8125 0.4375 0.75 +0.8125 0.4375 0.7812 +0.8125 0.4375 0.8125 +0.8125 0.4375 0.8438 +0.8125 0.4375 0.875 +0.8125 0.4375 0.9062 +0.8125 0.4375 0.9375 +0.8125 0.4375 0.9688 +0.8125 0.4375 1 +0.8125 0.4688 0 +0.8125 0.4688 0.03125 +0.8125 0.4688 0.0625 +0.8125 0.4688 0.09375 +0.8125 0.4688 0.125 +0.8125 0.4688 0.1562 +0.8125 0.4688 0.1875 +0.8125 0.4688 0.2188 +0.8125 0.4688 0.25 +0.8125 0.4688 0.2812 +0.8125 0.4688 0.3125 +0.8125 0.4688 0.3438 +0.8125 0.4688 0.375 +0.8125 0.4688 0.4062 +0.8125 0.4688 0.4375 +0.8125 0.4688 0.4688 +0.8125 0.4688 0.5 +0.8125 0.4688 0.5312 +0.8125 0.4688 0.5625 +0.8125 0.4688 0.5938 +0.8125 0.4688 0.625 +0.8125 0.4688 0.6562 +0.8125 0.4688 0.6875 +0.8125 0.4688 0.7188 +0.8125 0.4688 0.75 +0.8125 0.4688 0.7812 +0.8125 0.4688 0.8125 +0.8125 0.4688 0.8438 +0.8125 0.4688 0.875 +0.8125 0.4688 0.9062 +0.8125 0.4688 0.9375 +0.8125 0.4688 0.9688 +0.8125 0.4688 1 +0.8125 0.5 0 +0.8125 0.5 0.03125 +0.8125 0.5 0.0625 +0.8125 0.5 0.09375 +0.8125 0.5 0.125 +0.8125 0.5 0.1562 +0.8125 0.5 0.1875 +0.8125 0.5 0.2188 +0.8125 0.5 0.25 +0.8125 0.5 0.2812 +0.8125 0.5 0.3125 +0.8125 0.5 0.3438 +0.8125 0.5 0.375 +0.8125 0.5 0.4062 +0.8125 0.5 0.4375 +0.8125 0.5 0.4688 +0.8125 0.5 0.5 +0.8125 0.5 0.5312 +0.8125 0.5 0.5625 +0.8125 0.5 0.5938 +0.8125 0.5 0.625 +0.8125 0.5 0.6562 +0.8125 0.5 0.6875 +0.8125 0.5 0.7188 +0.8125 0.5 0.75 +0.8125 0.5 0.7812 +0.8125 0.5 0.8125 +0.8125 0.5 0.8438 +0.8125 0.5 0.875 +0.8125 0.5 0.9062 +0.8125 0.5 0.9375 +0.8125 0.5 0.9688 +0.8125 0.5 1 +0.8125 0.5312 0 +0.8125 0.5312 0.03125 +0.8125 0.5312 0.0625 +0.8125 0.5312 0.09375 +0.8125 0.5312 0.125 +0.8125 0.5312 0.1562 +0.8125 0.5312 0.1875 +0.8125 0.5312 0.2188 +0.8125 0.5312 0.25 +0.8125 0.5312 0.2812 +0.8125 0.5312 0.3125 +0.8125 0.5312 0.3438 +0.8125 0.5312 0.375 +0.8125 0.5312 0.4062 +0.8125 0.5312 0.4375 +0.8125 0.5312 0.4688 +0.8125 0.5312 0.5 +0.8125 0.5312 0.5312 +0.8125 0.5312 0.5625 +0.8125 0.5312 0.5938 +0.8125 0.5312 0.625 +0.8125 0.5312 0.6562 +0.8125 0.5312 0.6875 +0.8125 0.5312 0.7188 +0.8125 0.5312 0.75 +0.8125 0.5312 0.7812 +0.8125 0.5312 0.8125 +0.8125 0.5312 0.8438 +0.8125 0.5312 0.875 +0.8125 0.5312 0.9062 +0.8125 0.5312 0.9375 +0.8125 0.5312 0.9688 +0.8125 0.5312 1 +0.8125 0.5625 0 +0.8125 0.5625 0.03125 +0.8125 0.5625 0.0625 +0.8125 0.5625 0.09375 +0.8125 0.5625 0.125 +0.8125 0.5625 0.1562 +0.8125 0.5625 0.1875 +0.8125 0.5625 0.2188 +0.8125 0.5625 0.25 +0.8125 0.5625 0.2812 +0.8125 0.5625 0.3125 +0.8125 0.5625 0.3438 +0.8125 0.5625 0.375 +0.8125 0.5625 0.4062 +0.8125 0.5625 0.4375 +0.8125 0.5625 0.4688 +0.8125 0.5625 0.5 +0.8125 0.5625 0.5312 +0.8125 0.5625 0.5625 +0.8125 0.5625 0.5938 +0.8125 0.5625 0.625 +0.8125 0.5625 0.6562 +0.8125 0.5625 0.6875 +0.8125 0.5625 0.7188 +0.8125 0.5625 0.75 +0.8125 0.5625 0.7812 +0.8125 0.5625 0.8125 +0.8125 0.5625 0.8438 +0.8125 0.5625 0.875 +0.8125 0.5625 0.9062 +0.8125 0.5625 0.9375 +0.8125 0.5625 0.9688 +0.8125 0.5625 1 +0.8125 0.5938 0 +0.8125 0.5938 0.03125 +0.8125 0.5938 0.0625 +0.8125 0.5938 0.09375 +0.8125 0.5938 0.125 +0.8125 0.5938 0.1562 +0.8125 0.5938 0.1875 +0.8125 0.5938 0.2188 +0.8125 0.5938 0.25 +0.8125 0.5938 0.2812 +0.8125 0.5938 0.3125 +0.8125 0.5938 0.3438 +0.8125 0.5938 0.375 +0.8125 0.5938 0.4062 +0.8125 0.5938 0.4375 +0.8125 0.5938 0.4688 +0.8125 0.5938 0.5 +0.8125 0.5938 0.5312 +0.8125 0.5938 0.5625 +0.8125 0.5938 0.5938 +0.8125 0.5938 0.625 +0.8125 0.5938 0.6562 +0.8125 0.5938 0.6875 +0.8125 0.5938 0.7188 +0.8125 0.5938 0.75 +0.8125 0.5938 0.7812 +0.8125 0.5938 0.8125 +0.8125 0.5938 0.8438 +0.8125 0.5938 0.875 +0.8125 0.5938 0.9062 +0.8125 0.5938 0.9375 +0.8125 0.5938 0.9688 +0.8125 0.5938 1 +0.8125 0.625 0 +0.8125 0.625 0.03125 +0.8125 0.625 0.0625 +0.8125 0.625 0.09375 +0.8125 0.625 0.125 +0.8125 0.625 0.1562 +0.8125 0.625 0.1875 +0.8125 0.625 0.2188 +0.8125 0.625 0.25 +0.8125 0.625 0.2812 +0.8125 0.625 0.3125 +0.8125 0.625 0.3438 +0.8125 0.625 0.375 +0.8125 0.625 0.4062 +0.8125 0.625 0.4375 +0.8125 0.625 0.4688 +0.8125 0.625 0.5 +0.8125 0.625 0.5312 +0.8125 0.625 0.5625 +0.8125 0.625 0.5938 +0.8125 0.625 0.625 +0.8125 0.625 0.6562 +0.8125 0.625 0.6875 +0.8125 0.625 0.7188 +0.8125 0.625 0.75 +0.8125 0.625 0.7812 +0.8125 0.625 0.8125 +0.8125 0.625 0.8438 +0.8125 0.625 0.875 +0.8125 0.625 0.9062 +0.8125 0.625 0.9375 +0.8125 0.625 0.9688 +0.8125 0.625 1 +0.8125 0.6562 0 +0.8125 0.6562 0.03125 +0.8125 0.6562 0.0625 +0.8125 0.6562 0.09375 +0.8125 0.6562 0.125 +0.8125 0.6562 0.1562 +0.8125 0.6562 0.1875 +0.8125 0.6562 0.2188 +0.8125 0.6562 0.25 +0.8125 0.6562 0.2812 +0.8125 0.6562 0.3125 +0.8125 0.6562 0.3438 +0.8125 0.6562 0.375 +0.8125 0.6562 0.4062 +0.8125 0.6562 0.4375 +0.8125 0.6562 0.4688 +0.8125 0.6562 0.5 +0.8125 0.6562 0.5312 +0.8125 0.6562 0.5625 +0.8125 0.6562 0.5938 +0.8125 0.6562 0.625 +0.8125 0.6562 0.6562 +0.8125 0.6562 0.6875 +0.8125 0.6562 0.7188 +0.8125 0.6562 0.75 +0.8125 0.6562 0.7812 +0.8125 0.6562 0.8125 +0.8125 0.6562 0.8438 +0.8125 0.6562 0.875 +0.8125 0.6562 0.9062 +0.8125 0.6562 0.9375 +0.8125 0.6562 0.9688 +0.8125 0.6562 1 +0.8125 0.6875 0 +0.8125 0.6875 0.03125 +0.8125 0.6875 0.0625 +0.8125 0.6875 0.09375 +0.8125 0.6875 0.125 +0.8125 0.6875 0.1562 +0.8125 0.6875 0.1875 +0.8125 0.6875 0.2188 +0.8125 0.6875 0.25 +0.8125 0.6875 0.2812 +0.8125 0.6875 0.3125 +0.8125 0.6875 0.3438 +0.8125 0.6875 0.375 +0.8125 0.6875 0.4062 +0.8125 0.6875 0.4375 +0.8125 0.6875 0.4688 +0.8125 0.6875 0.5 +0.8125 0.6875 0.5312 +0.8125 0.6875 0.5625 +0.8125 0.6875 0.5938 +0.8125 0.6875 0.625 +0.8125 0.6875 0.6562 +0.8125 0.6875 0.6875 +0.8125 0.6875 0.7188 +0.8125 0.6875 0.75 +0.8125 0.6875 0.7812 +0.8125 0.6875 0.8125 +0.8125 0.6875 0.8438 +0.8125 0.6875 0.875 +0.8125 0.6875 0.9062 +0.8125 0.6875 0.9375 +0.8125 0.6875 0.9688 +0.8125 0.6875 1 +0.8125 0.7188 0 +0.8125 0.7188 0.03125 +0.8125 0.7188 0.0625 +0.8125 0.7188 0.09375 +0.8125 0.7188 0.125 +0.8125 0.7188 0.1562 +0.8125 0.7188 0.1875 +0.8125 0.7188 0.2188 +0.8125 0.7188 0.25 +0.8125 0.7188 0.2812 +0.8125 0.7188 0.3125 +0.8125 0.7188 0.3438 +0.8125 0.7188 0.375 +0.8125 0.7188 0.4062 +0.8125 0.7188 0.4375 +0.8125 0.7188 0.4688 +0.8125 0.7188 0.5 +0.8125 0.7188 0.5312 +0.8125 0.7188 0.5625 +0.8125 0.7188 0.5938 +0.8125 0.7188 0.625 +0.8125 0.7188 0.6562 +0.8125 0.7188 0.6875 +0.8125 0.7188 0.7188 +0.8125 0.7188 0.75 +0.8125 0.7188 0.7812 +0.8125 0.7188 0.8125 +0.8125 0.7188 0.8438 +0.8125 0.7188 0.875 +0.8125 0.7188 0.9062 +0.8125 0.7188 0.9375 +0.8125 0.7188 0.9688 +0.8125 0.7188 1 +0.8125 0.75 0 +0.8125 0.75 0.03125 +0.8125 0.75 0.0625 +0.8125 0.75 0.09375 +0.8125 0.75 0.125 +0.8125 0.75 0.1562 +0.8125 0.75 0.1875 +0.8125 0.75 0.2188 +0.8125 0.75 0.25 +0.8125 0.75 0.2812 +0.8125 0.75 0.3125 +0.8125 0.75 0.3438 +0.8125 0.75 0.375 +0.8125 0.75 0.4062 +0.8125 0.75 0.4375 +0.8125 0.75 0.4688 +0.8125 0.75 0.5 +0.8125 0.75 0.5312 +0.8125 0.75 0.5625 +0.8125 0.75 0.5938 +0.8125 0.75 0.625 +0.8125 0.75 0.6562 +0.8125 0.75 0.6875 +0.8125 0.75 0.7188 +0.8125 0.75 0.75 +0.8125 0.75 0.7812 +0.8125 0.75 0.8125 +0.8125 0.75 0.8438 +0.8125 0.75 0.875 +0.8125 0.75 0.9062 +0.8125 0.75 0.9375 +0.8125 0.75 0.9688 +0.8125 0.75 1 +0.8125 0.7812 0 +0.8125 0.7812 0.03125 +0.8125 0.7812 0.0625 +0.8125 0.7812 0.09375 +0.8125 0.7812 0.125 +0.8125 0.7812 0.1562 +0.8125 0.7812 0.1875 +0.8125 0.7812 0.2188 +0.8125 0.7812 0.25 +0.8125 0.7812 0.2812 +0.8125 0.7812 0.3125 +0.8125 0.7812 0.3438 +0.8125 0.7812 0.375 +0.8125 0.7812 0.4062 +0.8125 0.7812 0.4375 +0.8125 0.7812 0.4688 +0.8125 0.7812 0.5 +0.8125 0.7812 0.5312 +0.8125 0.7812 0.5625 +0.8125 0.7812 0.5938 +0.8125 0.7812 0.625 +0.8125 0.7812 0.6562 +0.8125 0.7812 0.6875 +0.8125 0.7812 0.7188 +0.8125 0.7812 0.75 +0.8125 0.7812 0.7812 +0.8125 0.7812 0.8125 +0.8125 0.7812 0.8438 +0.8125 0.7812 0.875 +0.8125 0.7812 0.9062 +0.8125 0.7812 0.9375 +0.8125 0.7812 0.9688 +0.8125 0.7812 1 +0.8125 0.8125 0 +0.8125 0.8125 0.03125 +0.8125 0.8125 0.0625 +0.8125 0.8125 0.09375 +0.8125 0.8125 0.125 +0.8125 0.8125 0.1562 +0.8125 0.8125 0.1875 +0.8125 0.8125 0.2188 +0.8125 0.8125 0.25 +0.8125 0.8125 0.2812 +0.8125 0.8125 0.3125 +0.8125 0.8125 0.3438 +0.8125 0.8125 0.375 +0.8125 0.8125 0.4062 +0.8125 0.8125 0.4375 +0.8125 0.8125 0.4688 +0.8125 0.8125 0.5 +0.8125 0.8125 0.5312 +0.8125 0.8125 0.5625 +0.8125 0.8125 0.5938 +0.8125 0.8125 0.625 +0.8125 0.8125 0.6562 +0.8125 0.8125 0.6875 +0.8125 0.8125 0.7188 +0.8125 0.8125 0.75 +0.8125 0.8125 0.7812 +0.8125 0.8125 0.8125 +0.8125 0.8125 0.8438 +0.8125 0.8125 0.875 +0.8125 0.8125 0.9062 +0.8125 0.8125 0.9375 +0.8125 0.8125 0.9688 +0.8125 0.8125 1 +0.8125 0.8438 0 +0.8125 0.8438 0.03125 +0.8125 0.8438 0.0625 +0.8125 0.8438 0.09375 +0.8125 0.8438 0.125 +0.8125 0.8438 0.1562 +0.8125 0.8438 0.1875 +0.8125 0.8438 0.2188 +0.8125 0.8438 0.25 +0.8125 0.8438 0.2812 +0.8125 0.8438 0.3125 +0.8125 0.8438 0.3438 +0.8125 0.8438 0.375 +0.8125 0.8438 0.4062 +0.8125 0.8438 0.4375 +0.8125 0.8438 0.4688 +0.8125 0.8438 0.5 +0.8125 0.8438 0.5312 +0.8125 0.8438 0.5625 +0.8125 0.8438 0.5938 +0.8125 0.8438 0.625 +0.8125 0.8438 0.6562 +0.8125 0.8438 0.6875 +0.8125 0.8438 0.7188 +0.8125 0.8438 0.75 +0.8125 0.8438 0.7812 +0.8125 0.8438 0.8125 +0.8125 0.8438 0.8438 +0.8125 0.8438 0.875 +0.8125 0.8438 0.9062 +0.8125 0.8438 0.9375 +0.8125 0.8438 0.9688 +0.8125 0.8438 1 +0.8125 0.875 0 +0.8125 0.875 0.03125 +0.8125 0.875 0.0625 +0.8125 0.875 0.09375 +0.8125 0.875 0.125 +0.8125 0.875 0.1562 +0.8125 0.875 0.1875 +0.8125 0.875 0.2188 +0.8125 0.875 0.25 +0.8125 0.875 0.2812 +0.8125 0.875 0.3125 +0.8125 0.875 0.3438 +0.8125 0.875 0.375 +0.8125 0.875 0.4062 +0.8125 0.875 0.4375 +0.8125 0.875 0.4688 +0.8125 0.875 0.5 +0.8125 0.875 0.5312 +0.8125 0.875 0.5625 +0.8125 0.875 0.5938 +0.8125 0.875 0.625 +0.8125 0.875 0.6562 +0.8125 0.875 0.6875 +0.8125 0.875 0.7188 +0.8125 0.875 0.75 +0.8125 0.875 0.7812 +0.8125 0.875 0.8125 +0.8125 0.875 0.8438 +0.8125 0.875 0.875 +0.8125 0.875 0.9062 +0.8125 0.875 0.9375 +0.8125 0.875 0.9688 +0.8125 0.875 1 +0.8125 0.9062 0 +0.8125 0.9062 0.03125 +0.8125 0.9062 0.0625 +0.8125 0.9062 0.09375 +0.8125 0.9062 0.125 +0.8125 0.9062 0.1562 +0.8125 0.9062 0.1875 +0.8125 0.9062 0.2188 +0.8125 0.9062 0.25 +0.8125 0.9062 0.2812 +0.8125 0.9062 0.3125 +0.8125 0.9062 0.3438 +0.8125 0.9062 0.375 +0.8125 0.9062 0.4062 +0.8125 0.9062 0.4375 +0.8125 0.9062 0.4688 +0.8125 0.9062 0.5 +0.8125 0.9062 0.5312 +0.8125 0.9062 0.5625 +0.8125 0.9062 0.5938 +0.8125 0.9062 0.625 +0.8125 0.9062 0.6562 +0.8125 0.9062 0.6875 +0.8125 0.9062 0.7188 +0.8125 0.9062 0.75 +0.8125 0.9062 0.7812 +0.8125 0.9062 0.8125 +0.8125 0.9062 0.8438 +0.8125 0.9062 0.875 +0.8125 0.9062 0.9062 +0.8125 0.9062 0.9375 +0.8125 0.9062 0.9688 +0.8125 0.9062 1 +0.8125 0.9375 0 +0.8125 0.9375 0.03125 +0.8125 0.9375 0.0625 +0.8125 0.9375 0.09375 +0.8125 0.9375 0.125 +0.8125 0.9375 0.1562 +0.8125 0.9375 0.1875 +0.8125 0.9375 0.2188 +0.8125 0.9375 0.25 +0.8125 0.9375 0.2812 +0.8125 0.9375 0.3125 +0.8125 0.9375 0.3438 +0.8125 0.9375 0.375 +0.8125 0.9375 0.4062 +0.8125 0.9375 0.4375 +0.8125 0.9375 0.4688 +0.8125 0.9375 0.5 +0.8125 0.9375 0.5312 +0.8125 0.9375 0.5625 +0.8125 0.9375 0.5938 +0.8125 0.9375 0.625 +0.8125 0.9375 0.6562 +0.8125 0.9375 0.6875 +0.8125 0.9375 0.7188 +0.8125 0.9375 0.75 +0.8125 0.9375 0.7812 +0.8125 0.9375 0.8125 +0.8125 0.9375 0.8438 +0.8125 0.9375 0.875 +0.8125 0.9375 0.9062 +0.8125 0.9375 0.9375 +0.8125 0.9375 0.9688 +0.8125 0.9375 1 +0.8125 0.9688 0 +0.8125 0.9688 0.03125 +0.8125 0.9688 0.0625 +0.8125 0.9688 0.09375 +0.8125 0.9688 0.125 +0.8125 0.9688 0.1562 +0.8125 0.9688 0.1875 +0.8125 0.9688 0.2188 +0.8125 0.9688 0.25 +0.8125 0.9688 0.2812 +0.8125 0.9688 0.3125 +0.8125 0.9688 0.3438 +0.8125 0.9688 0.375 +0.8125 0.9688 0.4062 +0.8125 0.9688 0.4375 +0.8125 0.9688 0.4688 +0.8125 0.9688 0.5 +0.8125 0.9688 0.5312 +0.8125 0.9688 0.5625 +0.8125 0.9688 0.5938 +0.8125 0.9688 0.625 +0.8125 0.9688 0.6562 +0.8125 0.9688 0.6875 +0.8125 0.9688 0.7188 +0.8125 0.9688 0.75 +0.8125 0.9688 0.7812 +0.8125 0.9688 0.8125 +0.8125 0.9688 0.8438 +0.8125 0.9688 0.875 +0.8125 0.9688 0.9062 +0.8125 0.9688 0.9375 +0.8125 0.9688 0.9688 +0.8125 0.9688 1 +0.8125 1 0 +0.8125 1 0.03125 +0.8125 1 0.0625 +0.8125 1 0.09375 +0.8125 1 0.125 +0.8125 1 0.1562 +0.8125 1 0.1875 +0.8125 1 0.2188 +0.8125 1 0.25 +0.8125 1 0.2812 +0.8125 1 0.3125 +0.8125 1 0.3438 +0.8125 1 0.375 +0.8125 1 0.4062 +0.8125 1 0.4375 +0.8125 1 0.4688 +0.8125 1 0.5 +0.8125 1 0.5312 +0.8125 1 0.5625 +0.8125 1 0.5938 +0.8125 1 0.625 +0.8125 1 0.6562 +0.8125 1 0.6875 +0.8125 1 0.7188 +0.8125 1 0.75 +0.8125 1 0.7812 +0.8125 1 0.8125 +0.8125 1 0.8438 +0.8125 1 0.875 +0.8125 1 0.9062 +0.8125 1 0.9375 +0.8125 1 0.9688 +0.8125 1 1 +0.8438 0 0 +0.8438 0 0.03125 +0.8438 0 0.0625 +0.8438 0 0.09375 +0.8438 0 0.125 +0.8438 0 0.1562 +0.8438 0 0.1875 +0.8438 0 0.2188 +0.8438 0 0.25 +0.8438 0 0.2812 +0.8438 0 0.3125 +0.8438 0 0.3438 +0.8438 0 0.375 +0.8438 0 0.4062 +0.8438 0 0.4375 +0.8438 0 0.4688 +0.8438 0 0.5 +0.8438 0 0.5312 +0.8438 0 0.5625 +0.8438 0 0.5938 +0.8438 0 0.625 +0.8438 0 0.6562 +0.8438 0 0.6875 +0.8438 0 0.7188 +0.8438 0 0.75 +0.8438 0 0.7812 +0.8438 0 0.8125 +0.8438 0 0.8438 +0.8438 0 0.875 +0.8438 0 0.9062 +0.8438 0 0.9375 +0.8438 0 0.9688 +0.8438 0 1 +0.8438 0.03125 0 +0.8438 0.03125 0.03125 +0.8438 0.03125 0.0625 +0.8438 0.03125 0.09375 +0.8438 0.03125 0.125 +0.8438 0.03125 0.1562 +0.8438 0.03125 0.1875 +0.8438 0.03125 0.2188 +0.8438 0.03125 0.25 +0.8438 0.03125 0.2812 +0.8438 0.03125 0.3125 +0.8438 0.03125 0.3438 +0.8438 0.03125 0.375 +0.8438 0.03125 0.4062 +0.8438 0.03125 0.4375 +0.8438 0.03125 0.4688 +0.8438 0.03125 0.5 +0.8438 0.03125 0.5312 +0.8438 0.03125 0.5625 +0.8438 0.03125 0.5938 +0.8438 0.03125 0.625 +0.8438 0.03125 0.6562 +0.8438 0.03125 0.6875 +0.8438 0.03125 0.7188 +0.8438 0.03125 0.75 +0.8438 0.03125 0.7812 +0.8438 0.03125 0.8125 +0.8438 0.03125 0.8438 +0.8438 0.03125 0.875 +0.8438 0.03125 0.9062 +0.8438 0.03125 0.9375 +0.8438 0.03125 0.9688 +0.8438 0.03125 1 +0.8438 0.0625 0 +0.8438 0.0625 0.03125 +0.8438 0.0625 0.0625 +0.8438 0.0625 0.09375 +0.8438 0.0625 0.125 +0.8438 0.0625 0.1562 +0.8438 0.0625 0.1875 +0.8438 0.0625 0.2188 +0.8438 0.0625 0.25 +0.8438 0.0625 0.2812 +0.8438 0.0625 0.3125 +0.8438 0.0625 0.3438 +0.8438 0.0625 0.375 +0.8438 0.0625 0.4062 +0.8438 0.0625 0.4375 +0.8438 0.0625 0.4688 +0.8438 0.0625 0.5 +0.8438 0.0625 0.5312 +0.8438 0.0625 0.5625 +0.8438 0.0625 0.5938 +0.8438 0.0625 0.625 +0.8438 0.0625 0.6562 +0.8438 0.0625 0.6875 +0.8438 0.0625 0.7188 +0.8438 0.0625 0.75 +0.8438 0.0625 0.7812 +0.8438 0.0625 0.8125 +0.8438 0.0625 0.8438 +0.8438 0.0625 0.875 +0.8438 0.0625 0.9062 +0.8438 0.0625 0.9375 +0.8438 0.0625 0.9688 +0.8438 0.0625 1 +0.8438 0.09375 0 +0.8438 0.09375 0.03125 +0.8438 0.09375 0.0625 +0.8438 0.09375 0.09375 +0.8438 0.09375 0.125 +0.8438 0.09375 0.1562 +0.8438 0.09375 0.1875 +0.8438 0.09375 0.2188 +0.8438 0.09375 0.25 +0.8438 0.09375 0.2812 +0.8438 0.09375 0.3125 +0.8438 0.09375 0.3438 +0.8438 0.09375 0.375 +0.8438 0.09375 0.4062 +0.8438 0.09375 0.4375 +0.8438 0.09375 0.4688 +0.8438 0.09375 0.5 +0.8438 0.09375 0.5312 +0.8438 0.09375 0.5625 +0.8438 0.09375 0.5938 +0.8438 0.09375 0.625 +0.8438 0.09375 0.6562 +0.8438 0.09375 0.6875 +0.8438 0.09375 0.7188 +0.8438 0.09375 0.75 +0.8438 0.09375 0.7812 +0.8438 0.09375 0.8125 +0.8438 0.09375 0.8438 +0.8438 0.09375 0.875 +0.8438 0.09375 0.9062 +0.8438 0.09375 0.9375 +0.8438 0.09375 0.9688 +0.8438 0.09375 1 +0.8438 0.125 0 +0.8438 0.125 0.03125 +0.8438 0.125 0.0625 +0.8438 0.125 0.09375 +0.8438 0.125 0.125 +0.8438 0.125 0.1562 +0.8438 0.125 0.1875 +0.8438 0.125 0.2188 +0.8438 0.125 0.25 +0.8438 0.125 0.2812 +0.8438 0.125 0.3125 +0.8438 0.125 0.3438 +0.8438 0.125 0.375 +0.8438 0.125 0.4062 +0.8438 0.125 0.4375 +0.8438 0.125 0.4688 +0.8438 0.125 0.5 +0.8438 0.125 0.5312 +0.8438 0.125 0.5625 +0.8438 0.125 0.5938 +0.8438 0.125 0.625 +0.8438 0.125 0.6562 +0.8438 0.125 0.6875 +0.8438 0.125 0.7188 +0.8438 0.125 0.75 +0.8438 0.125 0.7812 +0.8438 0.125 0.8125 +0.8438 0.125 0.8438 +0.8438 0.125 0.875 +0.8438 0.125 0.9062 +0.8438 0.125 0.9375 +0.8438 0.125 0.9688 +0.8438 0.125 1 +0.8438 0.1562 0 +0.8438 0.1562 0.03125 +0.8438 0.1562 0.0625 +0.8438 0.1562 0.09375 +0.8438 0.1562 0.125 +0.8438 0.1562 0.1562 +0.8438 0.1562 0.1875 +0.8438 0.1562 0.2188 +0.8438 0.1562 0.25 +0.8438 0.1562 0.2812 +0.8438 0.1562 0.3125 +0.8438 0.1562 0.3438 +0.8438 0.1562 0.375 +0.8438 0.1562 0.4062 +0.8438 0.1562 0.4375 +0.8438 0.1562 0.4688 +0.8438 0.1562 0.5 +0.8438 0.1562 0.5312 +0.8438 0.1562 0.5625 +0.8438 0.1562 0.5938 +0.8438 0.1562 0.625 +0.8438 0.1562 0.6562 +0.8438 0.1562 0.6875 +0.8438 0.1562 0.7188 +0.8438 0.1562 0.75 +0.8438 0.1562 0.7812 +0.8438 0.1562 0.8125 +0.8438 0.1562 0.8438 +0.8438 0.1562 0.875 +0.8438 0.1562 0.9062 +0.8438 0.1562 0.9375 +0.8438 0.1562 0.9688 +0.8438 0.1562 1 +0.8438 0.1875 0 +0.8438 0.1875 0.03125 +0.8438 0.1875 0.0625 +0.8438 0.1875 0.09375 +0.8438 0.1875 0.125 +0.8438 0.1875 0.1562 +0.8438 0.1875 0.1875 +0.8438 0.1875 0.2188 +0.8438 0.1875 0.25 +0.8438 0.1875 0.2812 +0.8438 0.1875 0.3125 +0.8438 0.1875 0.3438 +0.8438 0.1875 0.375 +0.8438 0.1875 0.4062 +0.8438 0.1875 0.4375 +0.8438 0.1875 0.4688 +0.8438 0.1875 0.5 +0.8438 0.1875 0.5312 +0.8438 0.1875 0.5625 +0.8438 0.1875 0.5938 +0.8438 0.1875 0.625 +0.8438 0.1875 0.6562 +0.8438 0.1875 0.6875 +0.8438 0.1875 0.7188 +0.8438 0.1875 0.75 +0.8438 0.1875 0.7812 +0.8438 0.1875 0.8125 +0.8438 0.1875 0.8438 +0.8438 0.1875 0.875 +0.8438 0.1875 0.9062 +0.8438 0.1875 0.9375 +0.8438 0.1875 0.9688 +0.8438 0.1875 1 +0.8438 0.2188 0 +0.8438 0.2188 0.03125 +0.8438 0.2188 0.0625 +0.8438 0.2188 0.09375 +0.8438 0.2188 0.125 +0.8438 0.2188 0.1562 +0.8438 0.2188 0.1875 +0.8438 0.2188 0.2188 +0.8438 0.2188 0.25 +0.8438 0.2188 0.2812 +0.8438 0.2188 0.3125 +0.8438 0.2188 0.3438 +0.8438 0.2188 0.375 +0.8438 0.2188 0.4062 +0.8438 0.2188 0.4375 +0.8438 0.2188 0.4688 +0.8438 0.2188 0.5 +0.8438 0.2188 0.5312 +0.8438 0.2188 0.5625 +0.8438 0.2188 0.5938 +0.8438 0.2188 0.625 +0.8438 0.2188 0.6562 +0.8438 0.2188 0.6875 +0.8438 0.2188 0.7188 +0.8438 0.2188 0.75 +0.8438 0.2188 0.7812 +0.8438 0.2188 0.8125 +0.8438 0.2188 0.8438 +0.8438 0.2188 0.875 +0.8438 0.2188 0.9062 +0.8438 0.2188 0.9375 +0.8438 0.2188 0.9688 +0.8438 0.2188 1 +0.8438 0.25 0 +0.8438 0.25 0.03125 +0.8438 0.25 0.0625 +0.8438 0.25 0.09375 +0.8438 0.25 0.125 +0.8438 0.25 0.1562 +0.8438 0.25 0.1875 +0.8438 0.25 0.2188 +0.8438 0.25 0.25 +0.8438 0.25 0.2812 +0.8438 0.25 0.3125 +0.8438 0.25 0.3438 +0.8438 0.25 0.375 +0.8438 0.25 0.4062 +0.8438 0.25 0.4375 +0.8438 0.25 0.4688 +0.8438 0.25 0.5 +0.8438 0.25 0.5312 +0.8438 0.25 0.5625 +0.8438 0.25 0.5938 +0.8438 0.25 0.625 +0.8438 0.25 0.6562 +0.8438 0.25 0.6875 +0.8438 0.25 0.7188 +0.8438 0.25 0.75 +0.8438 0.25 0.7812 +0.8438 0.25 0.8125 +0.8438 0.25 0.8438 +0.8438 0.25 0.875 +0.8438 0.25 0.9062 +0.8438 0.25 0.9375 +0.8438 0.25 0.9688 +0.8438 0.25 1 +0.8438 0.2812 0 +0.8438 0.2812 0.03125 +0.8438 0.2812 0.0625 +0.8438 0.2812 0.09375 +0.8438 0.2812 0.125 +0.8438 0.2812 0.1562 +0.8438 0.2812 0.1875 +0.8438 0.2812 0.2188 +0.8438 0.2812 0.25 +0.8438 0.2812 0.2812 +0.8438 0.2812 0.3125 +0.8438 0.2812 0.3438 +0.8438 0.2812 0.375 +0.8438 0.2812 0.4062 +0.8438 0.2812 0.4375 +0.8438 0.2812 0.4688 +0.8438 0.2812 0.5 +0.8438 0.2812 0.5312 +0.8438 0.2812 0.5625 +0.8438 0.2812 0.5938 +0.8438 0.2812 0.625 +0.8438 0.2812 0.6562 +0.8438 0.2812 0.6875 +0.8438 0.2812 0.7188 +0.8438 0.2812 0.75 +0.8438 0.2812 0.7812 +0.8438 0.2812 0.8125 +0.8438 0.2812 0.8438 +0.8438 0.2812 0.875 +0.8438 0.2812 0.9062 +0.8438 0.2812 0.9375 +0.8438 0.2812 0.9688 +0.8438 0.2812 1 +0.8438 0.3125 0 +0.8438 0.3125 0.03125 +0.8438 0.3125 0.0625 +0.8438 0.3125 0.09375 +0.8438 0.3125 0.125 +0.8438 0.3125 0.1562 +0.8438 0.3125 0.1875 +0.8438 0.3125 0.2188 +0.8438 0.3125 0.25 +0.8438 0.3125 0.2812 +0.8438 0.3125 0.3125 +0.8438 0.3125 0.3438 +0.8438 0.3125 0.375 +0.8438 0.3125 0.4062 +0.8438 0.3125 0.4375 +0.8438 0.3125 0.4688 +0.8438 0.3125 0.5 +0.8438 0.3125 0.5312 +0.8438 0.3125 0.5625 +0.8438 0.3125 0.5938 +0.8438 0.3125 0.625 +0.8438 0.3125 0.6562 +0.8438 0.3125 0.6875 +0.8438 0.3125 0.7188 +0.8438 0.3125 0.75 +0.8438 0.3125 0.7812 +0.8438 0.3125 0.8125 +0.8438 0.3125 0.8438 +0.8438 0.3125 0.875 +0.8438 0.3125 0.9062 +0.8438 0.3125 0.9375 +0.8438 0.3125 0.9688 +0.8438 0.3125 1 +0.8438 0.3438 0 +0.8438 0.3438 0.03125 +0.8438 0.3438 0.0625 +0.8438 0.3438 0.09375 +0.8438 0.3438 0.125 +0.8438 0.3438 0.1562 +0.8438 0.3438 0.1875 +0.8438 0.3438 0.2188 +0.8438 0.3438 0.25 +0.8438 0.3438 0.2812 +0.8438 0.3438 0.3125 +0.8438 0.3438 0.3438 +0.8438 0.3438 0.375 +0.8438 0.3438 0.4062 +0.8438 0.3438 0.4375 +0.8438 0.3438 0.4688 +0.8438 0.3438 0.5 +0.8438 0.3438 0.5312 +0.8438 0.3438 0.5625 +0.8438 0.3438 0.5938 +0.8438 0.3438 0.625 +0.8438 0.3438 0.6562 +0.8438 0.3438 0.6875 +0.8438 0.3438 0.7188 +0.8438 0.3438 0.75 +0.8438 0.3438 0.7812 +0.8438 0.3438 0.8125 +0.8438 0.3438 0.8438 +0.8438 0.3438 0.875 +0.8438 0.3438 0.9062 +0.8438 0.3438 0.9375 +0.8438 0.3438 0.9688 +0.8438 0.3438 1 +0.8438 0.375 0 +0.8438 0.375 0.03125 +0.8438 0.375 0.0625 +0.8438 0.375 0.09375 +0.8438 0.375 0.125 +0.8438 0.375 0.1562 +0.8438 0.375 0.1875 +0.8438 0.375 0.2188 +0.8438 0.375 0.25 +0.8438 0.375 0.2812 +0.8438 0.375 0.3125 +0.8438 0.375 0.3438 +0.8438 0.375 0.375 +0.8438 0.375 0.4062 +0.8438 0.375 0.4375 +0.8438 0.375 0.4688 +0.8438 0.375 0.5 +0.8438 0.375 0.5312 +0.8438 0.375 0.5625 +0.8438 0.375 0.5938 +0.8438 0.375 0.625 +0.8438 0.375 0.6562 +0.8438 0.375 0.6875 +0.8438 0.375 0.7188 +0.8438 0.375 0.75 +0.8438 0.375 0.7812 +0.8438 0.375 0.8125 +0.8438 0.375 0.8438 +0.8438 0.375 0.875 +0.8438 0.375 0.9062 +0.8438 0.375 0.9375 +0.8438 0.375 0.9688 +0.8438 0.375 1 +0.8438 0.4062 0 +0.8438 0.4062 0.03125 +0.8438 0.4062 0.0625 +0.8438 0.4062 0.09375 +0.8438 0.4062 0.125 +0.8438 0.4062 0.1562 +0.8438 0.4062 0.1875 +0.8438 0.4062 0.2188 +0.8438 0.4062 0.25 +0.8438 0.4062 0.2812 +0.8438 0.4062 0.3125 +0.8438 0.4062 0.3438 +0.8438 0.4062 0.375 +0.8438 0.4062 0.4062 +0.8438 0.4062 0.4375 +0.8438 0.4062 0.4688 +0.8438 0.4062 0.5 +0.8438 0.4062 0.5312 +0.8438 0.4062 0.5625 +0.8438 0.4062 0.5938 +0.8438 0.4062 0.625 +0.8438 0.4062 0.6562 +0.8438 0.4062 0.6875 +0.8438 0.4062 0.7188 +0.8438 0.4062 0.75 +0.8438 0.4062 0.7812 +0.8438 0.4062 0.8125 +0.8438 0.4062 0.8438 +0.8438 0.4062 0.875 +0.8438 0.4062 0.9062 +0.8438 0.4062 0.9375 +0.8438 0.4062 0.9688 +0.8438 0.4062 1 +0.8438 0.4375 0 +0.8438 0.4375 0.03125 +0.8438 0.4375 0.0625 +0.8438 0.4375 0.09375 +0.8438 0.4375 0.125 +0.8438 0.4375 0.1562 +0.8438 0.4375 0.1875 +0.8438 0.4375 0.2188 +0.8438 0.4375 0.25 +0.8438 0.4375 0.2812 +0.8438 0.4375 0.3125 +0.8438 0.4375 0.3438 +0.8438 0.4375 0.375 +0.8438 0.4375 0.4062 +0.8438 0.4375 0.4375 +0.8438 0.4375 0.4688 +0.8438 0.4375 0.5 +0.8438 0.4375 0.5312 +0.8438 0.4375 0.5625 +0.8438 0.4375 0.5938 +0.8438 0.4375 0.625 +0.8438 0.4375 0.6562 +0.8438 0.4375 0.6875 +0.8438 0.4375 0.7188 +0.8438 0.4375 0.75 +0.8438 0.4375 0.7812 +0.8438 0.4375 0.8125 +0.8438 0.4375 0.8438 +0.8438 0.4375 0.875 +0.8438 0.4375 0.9062 +0.8438 0.4375 0.9375 +0.8438 0.4375 0.9688 +0.8438 0.4375 1 +0.8438 0.4688 0 +0.8438 0.4688 0.03125 +0.8438 0.4688 0.0625 +0.8438 0.4688 0.09375 +0.8438 0.4688 0.125 +0.8438 0.4688 0.1562 +0.8438 0.4688 0.1875 +0.8438 0.4688 0.2188 +0.8438 0.4688 0.25 +0.8438 0.4688 0.2812 +0.8438 0.4688 0.3125 +0.8438 0.4688 0.3438 +0.8438 0.4688 0.375 +0.8438 0.4688 0.4062 +0.8438 0.4688 0.4375 +0.8438 0.4688 0.4688 +0.8438 0.4688 0.5 +0.8438 0.4688 0.5312 +0.8438 0.4688 0.5625 +0.8438 0.4688 0.5938 +0.8438 0.4688 0.625 +0.8438 0.4688 0.6562 +0.8438 0.4688 0.6875 +0.8438 0.4688 0.7188 +0.8438 0.4688 0.75 +0.8438 0.4688 0.7812 +0.8438 0.4688 0.8125 +0.8438 0.4688 0.8438 +0.8438 0.4688 0.875 +0.8438 0.4688 0.9062 +0.8438 0.4688 0.9375 +0.8438 0.4688 0.9688 +0.8438 0.4688 1 +0.8438 0.5 0 +0.8438 0.5 0.03125 +0.8438 0.5 0.0625 +0.8438 0.5 0.09375 +0.8438 0.5 0.125 +0.8438 0.5 0.1562 +0.8438 0.5 0.1875 +0.8438 0.5 0.2188 +0.8438 0.5 0.25 +0.8438 0.5 0.2812 +0.8438 0.5 0.3125 +0.8438 0.5 0.3438 +0.8438 0.5 0.375 +0.8438 0.5 0.4062 +0.8438 0.5 0.4375 +0.8438 0.5 0.4688 +0.8438 0.5 0.5 +0.8438 0.5 0.5312 +0.8438 0.5 0.5625 +0.8438 0.5 0.5938 +0.8438 0.5 0.625 +0.8438 0.5 0.6562 +0.8438 0.5 0.6875 +0.8438 0.5 0.7188 +0.8438 0.5 0.75 +0.8438 0.5 0.7812 +0.8438 0.5 0.8125 +0.8438 0.5 0.8438 +0.8438 0.5 0.875 +0.8438 0.5 0.9062 +0.8438 0.5 0.9375 +0.8438 0.5 0.9688 +0.8438 0.5 1 +0.8438 0.5312 0 +0.8438 0.5312 0.03125 +0.8438 0.5312 0.0625 +0.8438 0.5312 0.09375 +0.8438 0.5312 0.125 +0.8438 0.5312 0.1562 +0.8438 0.5312 0.1875 +0.8438 0.5312 0.2188 +0.8438 0.5312 0.25 +0.8438 0.5312 0.2812 +0.8438 0.5312 0.3125 +0.8438 0.5312 0.3438 +0.8438 0.5312 0.375 +0.8438 0.5312 0.4062 +0.8438 0.5312 0.4375 +0.8438 0.5312 0.4688 +0.8438 0.5312 0.5 +0.8438 0.5312 0.5312 +0.8438 0.5312 0.5625 +0.8438 0.5312 0.5938 +0.8438 0.5312 0.625 +0.8438 0.5312 0.6562 +0.8438 0.5312 0.6875 +0.8438 0.5312 0.7188 +0.8438 0.5312 0.75 +0.8438 0.5312 0.7812 +0.8438 0.5312 0.8125 +0.8438 0.5312 0.8438 +0.8438 0.5312 0.875 +0.8438 0.5312 0.9062 +0.8438 0.5312 0.9375 +0.8438 0.5312 0.9688 +0.8438 0.5312 1 +0.8438 0.5625 0 +0.8438 0.5625 0.03125 +0.8438 0.5625 0.0625 +0.8438 0.5625 0.09375 +0.8438 0.5625 0.125 +0.8438 0.5625 0.1562 +0.8438 0.5625 0.1875 +0.8438 0.5625 0.2188 +0.8438 0.5625 0.25 +0.8438 0.5625 0.2812 +0.8438 0.5625 0.3125 +0.8438 0.5625 0.3438 +0.8438 0.5625 0.375 +0.8438 0.5625 0.4062 +0.8438 0.5625 0.4375 +0.8438 0.5625 0.4688 +0.8438 0.5625 0.5 +0.8438 0.5625 0.5312 +0.8438 0.5625 0.5625 +0.8438 0.5625 0.5938 +0.8438 0.5625 0.625 +0.8438 0.5625 0.6562 +0.8438 0.5625 0.6875 +0.8438 0.5625 0.7188 +0.8438 0.5625 0.75 +0.8438 0.5625 0.7812 +0.8438 0.5625 0.8125 +0.8438 0.5625 0.8438 +0.8438 0.5625 0.875 +0.8438 0.5625 0.9062 +0.8438 0.5625 0.9375 +0.8438 0.5625 0.9688 +0.8438 0.5625 1 +0.8438 0.5938 0 +0.8438 0.5938 0.03125 +0.8438 0.5938 0.0625 +0.8438 0.5938 0.09375 +0.8438 0.5938 0.125 +0.8438 0.5938 0.1562 +0.8438 0.5938 0.1875 +0.8438 0.5938 0.2188 +0.8438 0.5938 0.25 +0.8438 0.5938 0.2812 +0.8438 0.5938 0.3125 +0.8438 0.5938 0.3438 +0.8438 0.5938 0.375 +0.8438 0.5938 0.4062 +0.8438 0.5938 0.4375 +0.8438 0.5938 0.4688 +0.8438 0.5938 0.5 +0.8438 0.5938 0.5312 +0.8438 0.5938 0.5625 +0.8438 0.5938 0.5938 +0.8438 0.5938 0.625 +0.8438 0.5938 0.6562 +0.8438 0.5938 0.6875 +0.8438 0.5938 0.7188 +0.8438 0.5938 0.75 +0.8438 0.5938 0.7812 +0.8438 0.5938 0.8125 +0.8438 0.5938 0.8438 +0.8438 0.5938 0.875 +0.8438 0.5938 0.9062 +0.8438 0.5938 0.9375 +0.8438 0.5938 0.9688 +0.8438 0.5938 1 +0.8438 0.625 0 +0.8438 0.625 0.03125 +0.8438 0.625 0.0625 +0.8438 0.625 0.09375 +0.8438 0.625 0.125 +0.8438 0.625 0.1562 +0.8438 0.625 0.1875 +0.8438 0.625 0.2188 +0.8438 0.625 0.25 +0.8438 0.625 0.2812 +0.8438 0.625 0.3125 +0.8438 0.625 0.3438 +0.8438 0.625 0.375 +0.8438 0.625 0.4062 +0.8438 0.625 0.4375 +0.8438 0.625 0.4688 +0.8438 0.625 0.5 +0.8438 0.625 0.5312 +0.8438 0.625 0.5625 +0.8438 0.625 0.5938 +0.8438 0.625 0.625 +0.8438 0.625 0.6562 +0.8438 0.625 0.6875 +0.8438 0.625 0.7188 +0.8438 0.625 0.75 +0.8438 0.625 0.7812 +0.8438 0.625 0.8125 +0.8438 0.625 0.8438 +0.8438 0.625 0.875 +0.8438 0.625 0.9062 +0.8438 0.625 0.9375 +0.8438 0.625 0.9688 +0.8438 0.625 1 +0.8438 0.6562 0 +0.8438 0.6562 0.03125 +0.8438 0.6562 0.0625 +0.8438 0.6562 0.09375 +0.8438 0.6562 0.125 +0.8438 0.6562 0.1562 +0.8438 0.6562 0.1875 +0.8438 0.6562 0.2188 +0.8438 0.6562 0.25 +0.8438 0.6562 0.2812 +0.8438 0.6562 0.3125 +0.8438 0.6562 0.3438 +0.8438 0.6562 0.375 +0.8438 0.6562 0.4062 +0.8438 0.6562 0.4375 +0.8438 0.6562 0.4688 +0.8438 0.6562 0.5 +0.8438 0.6562 0.5312 +0.8438 0.6562 0.5625 +0.8438 0.6562 0.5938 +0.8438 0.6562 0.625 +0.8438 0.6562 0.6562 +0.8438 0.6562 0.6875 +0.8438 0.6562 0.7188 +0.8438 0.6562 0.75 +0.8438 0.6562 0.7812 +0.8438 0.6562 0.8125 +0.8438 0.6562 0.8438 +0.8438 0.6562 0.875 +0.8438 0.6562 0.9062 +0.8438 0.6562 0.9375 +0.8438 0.6562 0.9688 +0.8438 0.6562 1 +0.8438 0.6875 0 +0.8438 0.6875 0.03125 +0.8438 0.6875 0.0625 +0.8438 0.6875 0.09375 +0.8438 0.6875 0.125 +0.8438 0.6875 0.1562 +0.8438 0.6875 0.1875 +0.8438 0.6875 0.2188 +0.8438 0.6875 0.25 +0.8438 0.6875 0.2812 +0.8438 0.6875 0.3125 +0.8438 0.6875 0.3438 +0.8438 0.6875 0.375 +0.8438 0.6875 0.4062 +0.8438 0.6875 0.4375 +0.8438 0.6875 0.4688 +0.8438 0.6875 0.5 +0.8438 0.6875 0.5312 +0.8438 0.6875 0.5625 +0.8438 0.6875 0.5938 +0.8438 0.6875 0.625 +0.8438 0.6875 0.6562 +0.8438 0.6875 0.6875 +0.8438 0.6875 0.7188 +0.8438 0.6875 0.75 +0.8438 0.6875 0.7812 +0.8438 0.6875 0.8125 +0.8438 0.6875 0.8438 +0.8438 0.6875 0.875 +0.8438 0.6875 0.9062 +0.8438 0.6875 0.9375 +0.8438 0.6875 0.9688 +0.8438 0.6875 1 +0.8438 0.7188 0 +0.8438 0.7188 0.03125 +0.8438 0.7188 0.0625 +0.8438 0.7188 0.09375 +0.8438 0.7188 0.125 +0.8438 0.7188 0.1562 +0.8438 0.7188 0.1875 +0.8438 0.7188 0.2188 +0.8438 0.7188 0.25 +0.8438 0.7188 0.2812 +0.8438 0.7188 0.3125 +0.8438 0.7188 0.3438 +0.8438 0.7188 0.375 +0.8438 0.7188 0.4062 +0.8438 0.7188 0.4375 +0.8438 0.7188 0.4688 +0.8438 0.7188 0.5 +0.8438 0.7188 0.5312 +0.8438 0.7188 0.5625 +0.8438 0.7188 0.5938 +0.8438 0.7188 0.625 +0.8438 0.7188 0.6562 +0.8438 0.7188 0.6875 +0.8438 0.7188 0.7188 +0.8438 0.7188 0.75 +0.8438 0.7188 0.7812 +0.8438 0.7188 0.8125 +0.8438 0.7188 0.8438 +0.8438 0.7188 0.875 +0.8438 0.7188 0.9062 +0.8438 0.7188 0.9375 +0.8438 0.7188 0.9688 +0.8438 0.7188 1 +0.8438 0.75 0 +0.8438 0.75 0.03125 +0.8438 0.75 0.0625 +0.8438 0.75 0.09375 +0.8438 0.75 0.125 +0.8438 0.75 0.1562 +0.8438 0.75 0.1875 +0.8438 0.75 0.2188 +0.8438 0.75 0.25 +0.8438 0.75 0.2812 +0.8438 0.75 0.3125 +0.8438 0.75 0.3438 +0.8438 0.75 0.375 +0.8438 0.75 0.4062 +0.8438 0.75 0.4375 +0.8438 0.75 0.4688 +0.8438 0.75 0.5 +0.8438 0.75 0.5312 +0.8438 0.75 0.5625 +0.8438 0.75 0.5938 +0.8438 0.75 0.625 +0.8438 0.75 0.6562 +0.8438 0.75 0.6875 +0.8438 0.75 0.7188 +0.8438 0.75 0.75 +0.8438 0.75 0.7812 +0.8438 0.75 0.8125 +0.8438 0.75 0.8438 +0.8438 0.75 0.875 +0.8438 0.75 0.9062 +0.8438 0.75 0.9375 +0.8438 0.75 0.9688 +0.8438 0.75 1 +0.8438 0.7812 0 +0.8438 0.7812 0.03125 +0.8438 0.7812 0.0625 +0.8438 0.7812 0.09375 +0.8438 0.7812 0.125 +0.8438 0.7812 0.1562 +0.8438 0.7812 0.1875 +0.8438 0.7812 0.2188 +0.8438 0.7812 0.25 +0.8438 0.7812 0.2812 +0.8438 0.7812 0.3125 +0.8438 0.7812 0.3438 +0.8438 0.7812 0.375 +0.8438 0.7812 0.4062 +0.8438 0.7812 0.4375 +0.8438 0.7812 0.4688 +0.8438 0.7812 0.5 +0.8438 0.7812 0.5312 +0.8438 0.7812 0.5625 +0.8438 0.7812 0.5938 +0.8438 0.7812 0.625 +0.8438 0.7812 0.6562 +0.8438 0.7812 0.6875 +0.8438 0.7812 0.7188 +0.8438 0.7812 0.75 +0.8438 0.7812 0.7812 +0.8438 0.7812 0.8125 +0.8438 0.7812 0.8438 +0.8438 0.7812 0.875 +0.8438 0.7812 0.9062 +0.8438 0.7812 0.9375 +0.8438 0.7812 0.9688 +0.8438 0.7812 1 +0.8438 0.8125 0 +0.8438 0.8125 0.03125 +0.8438 0.8125 0.0625 +0.8438 0.8125 0.09375 +0.8438 0.8125 0.125 +0.8438 0.8125 0.1562 +0.8438 0.8125 0.1875 +0.8438 0.8125 0.2188 +0.8438 0.8125 0.25 +0.8438 0.8125 0.2812 +0.8438 0.8125 0.3125 +0.8438 0.8125 0.3438 +0.8438 0.8125 0.375 +0.8438 0.8125 0.4062 +0.8438 0.8125 0.4375 +0.8438 0.8125 0.4688 +0.8438 0.8125 0.5 +0.8438 0.8125 0.5312 +0.8438 0.8125 0.5625 +0.8438 0.8125 0.5938 +0.8438 0.8125 0.625 +0.8438 0.8125 0.6562 +0.8438 0.8125 0.6875 +0.8438 0.8125 0.7188 +0.8438 0.8125 0.75 +0.8438 0.8125 0.7812 +0.8438 0.8125 0.8125 +0.8438 0.8125 0.8438 +0.8438 0.8125 0.875 +0.8438 0.8125 0.9062 +0.8438 0.8125 0.9375 +0.8438 0.8125 0.9688 +0.8438 0.8125 1 +0.8438 0.8438 0 +0.8438 0.8438 0.03125 +0.8438 0.8438 0.0625 +0.8438 0.8438 0.09375 +0.8438 0.8438 0.125 +0.8438 0.8438 0.1562 +0.8438 0.8438 0.1875 +0.8438 0.8438 0.2188 +0.8438 0.8438 0.25 +0.8438 0.8438 0.2812 +0.8438 0.8438 0.3125 +0.8438 0.8438 0.3438 +0.8438 0.8438 0.375 +0.8438 0.8438 0.4062 +0.8438 0.8438 0.4375 +0.8438 0.8438 0.4688 +0.8438 0.8438 0.5 +0.8438 0.8438 0.5312 +0.8438 0.8438 0.5625 +0.8438 0.8438 0.5938 +0.8438 0.8438 0.625 +0.8438 0.8438 0.6562 +0.8438 0.8438 0.6875 +0.8438 0.8438 0.7188 +0.8438 0.8438 0.75 +0.8438 0.8438 0.7812 +0.8438 0.8438 0.8125 +0.8438 0.8438 0.8438 +0.8438 0.8438 0.875 +0.8438 0.8438 0.9062 +0.8438 0.8438 0.9375 +0.8438 0.8438 0.9688 +0.8438 0.8438 1 +0.8438 0.875 0 +0.8438 0.875 0.03125 +0.8438 0.875 0.0625 +0.8438 0.875 0.09375 +0.8438 0.875 0.125 +0.8438 0.875 0.1562 +0.8438 0.875 0.1875 +0.8438 0.875 0.2188 +0.8438 0.875 0.25 +0.8438 0.875 0.2812 +0.8438 0.875 0.3125 +0.8438 0.875 0.3438 +0.8438 0.875 0.375 +0.8438 0.875 0.4062 +0.8438 0.875 0.4375 +0.8438 0.875 0.4688 +0.8438 0.875 0.5 +0.8438 0.875 0.5312 +0.8438 0.875 0.5625 +0.8438 0.875 0.5938 +0.8438 0.875 0.625 +0.8438 0.875 0.6562 +0.8438 0.875 0.6875 +0.8438 0.875 0.7188 +0.8438 0.875 0.75 +0.8438 0.875 0.7812 +0.8438 0.875 0.8125 +0.8438 0.875 0.8438 +0.8438 0.875 0.875 +0.8438 0.875 0.9062 +0.8438 0.875 0.9375 +0.8438 0.875 0.9688 +0.8438 0.875 1 +0.8438 0.9062 0 +0.8438 0.9062 0.03125 +0.8438 0.9062 0.0625 +0.8438 0.9062 0.09375 +0.8438 0.9062 0.125 +0.8438 0.9062 0.1562 +0.8438 0.9062 0.1875 +0.8438 0.9062 0.2188 +0.8438 0.9062 0.25 +0.8438 0.9062 0.2812 +0.8438 0.9062 0.3125 +0.8438 0.9062 0.3438 +0.8438 0.9062 0.375 +0.8438 0.9062 0.4062 +0.8438 0.9062 0.4375 +0.8438 0.9062 0.4688 +0.8438 0.9062 0.5 +0.8438 0.9062 0.5312 +0.8438 0.9062 0.5625 +0.8438 0.9062 0.5938 +0.8438 0.9062 0.625 +0.8438 0.9062 0.6562 +0.8438 0.9062 0.6875 +0.8438 0.9062 0.7188 +0.8438 0.9062 0.75 +0.8438 0.9062 0.7812 +0.8438 0.9062 0.8125 +0.8438 0.9062 0.8438 +0.8438 0.9062 0.875 +0.8438 0.9062 0.9062 +0.8438 0.9062 0.9375 +0.8438 0.9062 0.9688 +0.8438 0.9062 1 +0.8438 0.9375 0 +0.8438 0.9375 0.03125 +0.8438 0.9375 0.0625 +0.8438 0.9375 0.09375 +0.8438 0.9375 0.125 +0.8438 0.9375 0.1562 +0.8438 0.9375 0.1875 +0.8438 0.9375 0.2188 +0.8438 0.9375 0.25 +0.8438 0.9375 0.2812 +0.8438 0.9375 0.3125 +0.8438 0.9375 0.3438 +0.8438 0.9375 0.375 +0.8438 0.9375 0.4062 +0.8438 0.9375 0.4375 +0.8438 0.9375 0.4688 +0.8438 0.9375 0.5 +0.8438 0.9375 0.5312 +0.8438 0.9375 0.5625 +0.8438 0.9375 0.5938 +0.8438 0.9375 0.625 +0.8438 0.9375 0.6562 +0.8438 0.9375 0.6875 +0.8438 0.9375 0.7188 +0.8438 0.9375 0.75 +0.8438 0.9375 0.7812 +0.8438 0.9375 0.8125 +0.8438 0.9375 0.8438 +0.8438 0.9375 0.875 +0.8438 0.9375 0.9062 +0.8438 0.9375 0.9375 +0.8438 0.9375 0.9688 +0.8438 0.9375 1 +0.8438 0.9688 0 +0.8438 0.9688 0.03125 +0.8438 0.9688 0.0625 +0.8438 0.9688 0.09375 +0.8438 0.9688 0.125 +0.8438 0.9688 0.1562 +0.8438 0.9688 0.1875 +0.8438 0.9688 0.2188 +0.8438 0.9688 0.25 +0.8438 0.9688 0.2812 +0.8438 0.9688 0.3125 +0.8438 0.9688 0.3438 +0.8438 0.9688 0.375 +0.8438 0.9688 0.4062 +0.8438 0.9688 0.4375 +0.8438 0.9688 0.4688 +0.8438 0.9688 0.5 +0.8438 0.9688 0.5312 +0.8438 0.9688 0.5625 +0.8438 0.9688 0.5938 +0.8438 0.9688 0.625 +0.8438 0.9688 0.6562 +0.8438 0.9688 0.6875 +0.8438 0.9688 0.7188 +0.8438 0.9688 0.75 +0.8438 0.9688 0.7812 +0.8438 0.9688 0.8125 +0.8438 0.9688 0.8438 +0.8438 0.9688 0.875 +0.8438 0.9688 0.9062 +0.8438 0.9688 0.9375 +0.8438 0.9688 0.9688 +0.8438 0.9688 1 +0.8438 1 0 +0.8438 1 0.03125 +0.8438 1 0.0625 +0.8438 1 0.09375 +0.8438 1 0.125 +0.8438 1 0.1562 +0.8438 1 0.1875 +0.8438 1 0.2188 +0.8438 1 0.25 +0.8438 1 0.2812 +0.8438 1 0.3125 +0.8438 1 0.3438 +0.8438 1 0.375 +0.8438 1 0.4062 +0.8438 1 0.4375 +0.8438 1 0.4688 +0.8438 1 0.5 +0.8438 1 0.5312 +0.8438 1 0.5625 +0.8438 1 0.5938 +0.8438 1 0.625 +0.8438 1 0.6562 +0.8438 1 0.6875 +0.8438 1 0.7188 +0.8438 1 0.75 +0.8438 1 0.7812 +0.8438 1 0.8125 +0.8438 1 0.8438 +0.8438 1 0.875 +0.8438 1 0.9062 +0.8438 1 0.9375 +0.8438 1 0.9688 +0.8438 1 1 +0.875 0 0 +0.875 0 0.03125 +0.875 0 0.0625 +0.875 0 0.09375 +0.875 0 0.125 +0.875 0 0.1562 +0.875 0 0.1875 +0.875 0 0.2188 +0.875 0 0.25 +0.875 0 0.2812 +0.875 0 0.3125 +0.875 0 0.3438 +0.875 0 0.375 +0.875 0 0.4062 +0.875 0 0.4375 +0.875 0 0.4688 +0.875 0 0.5 +0.875 0 0.5312 +0.875 0 0.5625 +0.875 0 0.5938 +0.875 0 0.625 +0.875 0 0.6562 +0.875 0 0.6875 +0.875 0 0.7188 +0.875 0 0.75 +0.875 0 0.7812 +0.875 0 0.8125 +0.875 0 0.8438 +0.875 0 0.875 +0.875 0 0.9062 +0.875 0 0.9375 +0.875 0 0.9688 +0.875 0 1 +0.875 0.03125 0 +0.875 0.03125 0.03125 +0.875 0.03125 0.0625 +0.875 0.03125 0.09375 +0.875 0.03125 0.125 +0.875 0.03125 0.1562 +0.875 0.03125 0.1875 +0.875 0.03125 0.2188 +0.875 0.03125 0.25 +0.875 0.03125 0.2812 +0.875 0.03125 0.3125 +0.875 0.03125 0.3438 +0.875 0.03125 0.375 +0.875 0.03125 0.4062 +0.875 0.03125 0.4375 +0.875 0.03125 0.4688 +0.875 0.03125 0.5 +0.875 0.03125 0.5312 +0.875 0.03125 0.5625 +0.875 0.03125 0.5938 +0.875 0.03125 0.625 +0.875 0.03125 0.6562 +0.875 0.03125 0.6875 +0.875 0.03125 0.7188 +0.875 0.03125 0.75 +0.875 0.03125 0.7812 +0.875 0.03125 0.8125 +0.875 0.03125 0.8438 +0.875 0.03125 0.875 +0.875 0.03125 0.9062 +0.875 0.03125 0.9375 +0.875 0.03125 0.9688 +0.875 0.03125 1 +0.875 0.0625 0 +0.875 0.0625 0.03125 +0.875 0.0625 0.0625 +0.875 0.0625 0.09375 +0.875 0.0625 0.125 +0.875 0.0625 0.1562 +0.875 0.0625 0.1875 +0.875 0.0625 0.2188 +0.875 0.0625 0.25 +0.875 0.0625 0.2812 +0.875 0.0625 0.3125 +0.875 0.0625 0.3438 +0.875 0.0625 0.375 +0.875 0.0625 0.4062 +0.875 0.0625 0.4375 +0.875 0.0625 0.4688 +0.875 0.0625 0.5 +0.875 0.0625 0.5312 +0.875 0.0625 0.5625 +0.875 0.0625 0.5938 +0.875 0.0625 0.625 +0.875 0.0625 0.6562 +0.875 0.0625 0.6875 +0.875 0.0625 0.7188 +0.875 0.0625 0.75 +0.875 0.0625 0.7812 +0.875 0.0625 0.8125 +0.875 0.0625 0.8438 +0.875 0.0625 0.875 +0.875 0.0625 0.9062 +0.875 0.0625 0.9375 +0.875 0.0625 0.9688 +0.875 0.0625 1 +0.875 0.09375 0 +0.875 0.09375 0.03125 +0.875 0.09375 0.0625 +0.875 0.09375 0.09375 +0.875 0.09375 0.125 +0.875 0.09375 0.1562 +0.875 0.09375 0.1875 +0.875 0.09375 0.2188 +0.875 0.09375 0.25 +0.875 0.09375 0.2812 +0.875 0.09375 0.3125 +0.875 0.09375 0.3438 +0.875 0.09375 0.375 +0.875 0.09375 0.4062 +0.875 0.09375 0.4375 +0.875 0.09375 0.4688 +0.875 0.09375 0.5 +0.875 0.09375 0.5312 +0.875 0.09375 0.5625 +0.875 0.09375 0.5938 +0.875 0.09375 0.625 +0.875 0.09375 0.6562 +0.875 0.09375 0.6875 +0.875 0.09375 0.7188 +0.875 0.09375 0.75 +0.875 0.09375 0.7812 +0.875 0.09375 0.8125 +0.875 0.09375 0.8438 +0.875 0.09375 0.875 +0.875 0.09375 0.9062 +0.875 0.09375 0.9375 +0.875 0.09375 0.9688 +0.875 0.09375 1 +0.875 0.125 0 +0.875 0.125 0.03125 +0.875 0.125 0.0625 +0.875 0.125 0.09375 +0.875 0.125 0.125 +0.875 0.125 0.1562 +0.875 0.125 0.1875 +0.875 0.125 0.2188 +0.875 0.125 0.25 +0.875 0.125 0.2812 +0.875 0.125 0.3125 +0.875 0.125 0.3438 +0.875 0.125 0.375 +0.875 0.125 0.4062 +0.875 0.125 0.4375 +0.875 0.125 0.4688 +0.875 0.125 0.5 +0.875 0.125 0.5312 +0.875 0.125 0.5625 +0.875 0.125 0.5938 +0.875 0.125 0.625 +0.875 0.125 0.6562 +0.875 0.125 0.6875 +0.875 0.125 0.7188 +0.875 0.125 0.75 +0.875 0.125 0.7812 +0.875 0.125 0.8125 +0.875 0.125 0.8438 +0.875 0.125 0.875 +0.875 0.125 0.9062 +0.875 0.125 0.9375 +0.875 0.125 0.9688 +0.875 0.125 1 +0.875 0.1562 0 +0.875 0.1562 0.03125 +0.875 0.1562 0.0625 +0.875 0.1562 0.09375 +0.875 0.1562 0.125 +0.875 0.1562 0.1562 +0.875 0.1562 0.1875 +0.875 0.1562 0.2188 +0.875 0.1562 0.25 +0.875 0.1562 0.2812 +0.875 0.1562 0.3125 +0.875 0.1562 0.3438 +0.875 0.1562 0.375 +0.875 0.1562 0.4062 +0.875 0.1562 0.4375 +0.875 0.1562 0.4688 +0.875 0.1562 0.5 +0.875 0.1562 0.5312 +0.875 0.1562 0.5625 +0.875 0.1562 0.5938 +0.875 0.1562 0.625 +0.875 0.1562 0.6562 +0.875 0.1562 0.6875 +0.875 0.1562 0.7188 +0.875 0.1562 0.75 +0.875 0.1562 0.7812 +0.875 0.1562 0.8125 +0.875 0.1562 0.8438 +0.875 0.1562 0.875 +0.875 0.1562 0.9062 +0.875 0.1562 0.9375 +0.875 0.1562 0.9688 +0.875 0.1562 1 +0.875 0.1875 0 +0.875 0.1875 0.03125 +0.875 0.1875 0.0625 +0.875 0.1875 0.09375 +0.875 0.1875 0.125 +0.875 0.1875 0.1562 +0.875 0.1875 0.1875 +0.875 0.1875 0.2188 +0.875 0.1875 0.25 +0.875 0.1875 0.2812 +0.875 0.1875 0.3125 +0.875 0.1875 0.3438 +0.875 0.1875 0.375 +0.875 0.1875 0.4062 +0.875 0.1875 0.4375 +0.875 0.1875 0.4688 +0.875 0.1875 0.5 +0.875 0.1875 0.5312 +0.875 0.1875 0.5625 +0.875 0.1875 0.5938 +0.875 0.1875 0.625 +0.875 0.1875 0.6562 +0.875 0.1875 0.6875 +0.875 0.1875 0.7188 +0.875 0.1875 0.75 +0.875 0.1875 0.7812 +0.875 0.1875 0.8125 +0.875 0.1875 0.8438 +0.875 0.1875 0.875 +0.875 0.1875 0.9062 +0.875 0.1875 0.9375 +0.875 0.1875 0.9688 +0.875 0.1875 1 +0.875 0.2188 0 +0.875 0.2188 0.03125 +0.875 0.2188 0.0625 +0.875 0.2188 0.09375 +0.875 0.2188 0.125 +0.875 0.2188 0.1562 +0.875 0.2188 0.1875 +0.875 0.2188 0.2188 +0.875 0.2188 0.25 +0.875 0.2188 0.2812 +0.875 0.2188 0.3125 +0.875 0.2188 0.3438 +0.875 0.2188 0.375 +0.875 0.2188 0.4062 +0.875 0.2188 0.4375 +0.875 0.2188 0.4688 +0.875 0.2188 0.5 +0.875 0.2188 0.5312 +0.875 0.2188 0.5625 +0.875 0.2188 0.5938 +0.875 0.2188 0.625 +0.875 0.2188 0.6562 +0.875 0.2188 0.6875 +0.875 0.2188 0.7188 +0.875 0.2188 0.75 +0.875 0.2188 0.7812 +0.875 0.2188 0.8125 +0.875 0.2188 0.8438 +0.875 0.2188 0.875 +0.875 0.2188 0.9062 +0.875 0.2188 0.9375 +0.875 0.2188 0.9688 +0.875 0.2188 1 +0.875 0.25 0 +0.875 0.25 0.03125 +0.875 0.25 0.0625 +0.875 0.25 0.09375 +0.875 0.25 0.125 +0.875 0.25 0.1562 +0.875 0.25 0.1875 +0.875 0.25 0.2188 +0.875 0.25 0.25 +0.875 0.25 0.2812 +0.875 0.25 0.3125 +0.875 0.25 0.3438 +0.875 0.25 0.375 +0.875 0.25 0.4062 +0.875 0.25 0.4375 +0.875 0.25 0.4688 +0.875 0.25 0.5 +0.875 0.25 0.5312 +0.875 0.25 0.5625 +0.875 0.25 0.5938 +0.875 0.25 0.625 +0.875 0.25 0.6562 +0.875 0.25 0.6875 +0.875 0.25 0.7188 +0.875 0.25 0.75 +0.875 0.25 0.7812 +0.875 0.25 0.8125 +0.875 0.25 0.8438 +0.875 0.25 0.875 +0.875 0.25 0.9062 +0.875 0.25 0.9375 +0.875 0.25 0.9688 +0.875 0.25 1 +0.875 0.2812 0 +0.875 0.2812 0.03125 +0.875 0.2812 0.0625 +0.875 0.2812 0.09375 +0.875 0.2812 0.125 +0.875 0.2812 0.1562 +0.875 0.2812 0.1875 +0.875 0.2812 0.2188 +0.875 0.2812 0.25 +0.875 0.2812 0.2812 +0.875 0.2812 0.3125 +0.875 0.2812 0.3438 +0.875 0.2812 0.375 +0.875 0.2812 0.4062 +0.875 0.2812 0.4375 +0.875 0.2812 0.4688 +0.875 0.2812 0.5 +0.875 0.2812 0.5312 +0.875 0.2812 0.5625 +0.875 0.2812 0.5938 +0.875 0.2812 0.625 +0.875 0.2812 0.6562 +0.875 0.2812 0.6875 +0.875 0.2812 0.7188 +0.875 0.2812 0.75 +0.875 0.2812 0.7812 +0.875 0.2812 0.8125 +0.875 0.2812 0.8438 +0.875 0.2812 0.875 +0.875 0.2812 0.9062 +0.875 0.2812 0.9375 +0.875 0.2812 0.9688 +0.875 0.2812 1 +0.875 0.3125 0 +0.875 0.3125 0.03125 +0.875 0.3125 0.0625 +0.875 0.3125 0.09375 +0.875 0.3125 0.125 +0.875 0.3125 0.1562 +0.875 0.3125 0.1875 +0.875 0.3125 0.2188 +0.875 0.3125 0.25 +0.875 0.3125 0.2812 +0.875 0.3125 0.3125 +0.875 0.3125 0.3438 +0.875 0.3125 0.375 +0.875 0.3125 0.4062 +0.875 0.3125 0.4375 +0.875 0.3125 0.4688 +0.875 0.3125 0.5 +0.875 0.3125 0.5312 +0.875 0.3125 0.5625 +0.875 0.3125 0.5938 +0.875 0.3125 0.625 +0.875 0.3125 0.6562 +0.875 0.3125 0.6875 +0.875 0.3125 0.7188 +0.875 0.3125 0.75 +0.875 0.3125 0.7812 +0.875 0.3125 0.8125 +0.875 0.3125 0.8438 +0.875 0.3125 0.875 +0.875 0.3125 0.9062 +0.875 0.3125 0.9375 +0.875 0.3125 0.9688 +0.875 0.3125 1 +0.875 0.3438 0 +0.875 0.3438 0.03125 +0.875 0.3438 0.0625 +0.875 0.3438 0.09375 +0.875 0.3438 0.125 +0.875 0.3438 0.1562 +0.875 0.3438 0.1875 +0.875 0.3438 0.2188 +0.875 0.3438 0.25 +0.875 0.3438 0.2812 +0.875 0.3438 0.3125 +0.875 0.3438 0.3438 +0.875 0.3438 0.375 +0.875 0.3438 0.4062 +0.875 0.3438 0.4375 +0.875 0.3438 0.4688 +0.875 0.3438 0.5 +0.875 0.3438 0.5312 +0.875 0.3438 0.5625 +0.875 0.3438 0.5938 +0.875 0.3438 0.625 +0.875 0.3438 0.6562 +0.875 0.3438 0.6875 +0.875 0.3438 0.7188 +0.875 0.3438 0.75 +0.875 0.3438 0.7812 +0.875 0.3438 0.8125 +0.875 0.3438 0.8438 +0.875 0.3438 0.875 +0.875 0.3438 0.9062 +0.875 0.3438 0.9375 +0.875 0.3438 0.9688 +0.875 0.3438 1 +0.875 0.375 0 +0.875 0.375 0.03125 +0.875 0.375 0.0625 +0.875 0.375 0.09375 +0.875 0.375 0.125 +0.875 0.375 0.1562 +0.875 0.375 0.1875 +0.875 0.375 0.2188 +0.875 0.375 0.25 +0.875 0.375 0.2812 +0.875 0.375 0.3125 +0.875 0.375 0.3438 +0.875 0.375 0.375 +0.875 0.375 0.4062 +0.875 0.375 0.4375 +0.875 0.375 0.4688 +0.875 0.375 0.5 +0.875 0.375 0.5312 +0.875 0.375 0.5625 +0.875 0.375 0.5938 +0.875 0.375 0.625 +0.875 0.375 0.6562 +0.875 0.375 0.6875 +0.875 0.375 0.7188 +0.875 0.375 0.75 +0.875 0.375 0.7812 +0.875 0.375 0.8125 +0.875 0.375 0.8438 +0.875 0.375 0.875 +0.875 0.375 0.9062 +0.875 0.375 0.9375 +0.875 0.375 0.9688 +0.875 0.375 1 +0.875 0.4062 0 +0.875 0.4062 0.03125 +0.875 0.4062 0.0625 +0.875 0.4062 0.09375 +0.875 0.4062 0.125 +0.875 0.4062 0.1562 +0.875 0.4062 0.1875 +0.875 0.4062 0.2188 +0.875 0.4062 0.25 +0.875 0.4062 0.2812 +0.875 0.4062 0.3125 +0.875 0.4062 0.3438 +0.875 0.4062 0.375 +0.875 0.4062 0.4062 +0.875 0.4062 0.4375 +0.875 0.4062 0.4688 +0.875 0.4062 0.5 +0.875 0.4062 0.5312 +0.875 0.4062 0.5625 +0.875 0.4062 0.5938 +0.875 0.4062 0.625 +0.875 0.4062 0.6562 +0.875 0.4062 0.6875 +0.875 0.4062 0.7188 +0.875 0.4062 0.75 +0.875 0.4062 0.7812 +0.875 0.4062 0.8125 +0.875 0.4062 0.8438 +0.875 0.4062 0.875 +0.875 0.4062 0.9062 +0.875 0.4062 0.9375 +0.875 0.4062 0.9688 +0.875 0.4062 1 +0.875 0.4375 0 +0.875 0.4375 0.03125 +0.875 0.4375 0.0625 +0.875 0.4375 0.09375 +0.875 0.4375 0.125 +0.875 0.4375 0.1562 +0.875 0.4375 0.1875 +0.875 0.4375 0.2188 +0.875 0.4375 0.25 +0.875 0.4375 0.2812 +0.875 0.4375 0.3125 +0.875 0.4375 0.3438 +0.875 0.4375 0.375 +0.875 0.4375 0.4062 +0.875 0.4375 0.4375 +0.875 0.4375 0.4688 +0.875 0.4375 0.5 +0.875 0.4375 0.5312 +0.875 0.4375 0.5625 +0.875 0.4375 0.5938 +0.875 0.4375 0.625 +0.875 0.4375 0.6562 +0.875 0.4375 0.6875 +0.875 0.4375 0.7188 +0.875 0.4375 0.75 +0.875 0.4375 0.7812 +0.875 0.4375 0.8125 +0.875 0.4375 0.8438 +0.875 0.4375 0.875 +0.875 0.4375 0.9062 +0.875 0.4375 0.9375 +0.875 0.4375 0.9688 +0.875 0.4375 1 +0.875 0.4688 0 +0.875 0.4688 0.03125 +0.875 0.4688 0.0625 +0.875 0.4688 0.09375 +0.875 0.4688 0.125 +0.875 0.4688 0.1562 +0.875 0.4688 0.1875 +0.875 0.4688 0.2188 +0.875 0.4688 0.25 +0.875 0.4688 0.2812 +0.875 0.4688 0.3125 +0.875 0.4688 0.3438 +0.875 0.4688 0.375 +0.875 0.4688 0.4062 +0.875 0.4688 0.4375 +0.875 0.4688 0.4688 +0.875 0.4688 0.5 +0.875 0.4688 0.5312 +0.875 0.4688 0.5625 +0.875 0.4688 0.5938 +0.875 0.4688 0.625 +0.875 0.4688 0.6562 +0.875 0.4688 0.6875 +0.875 0.4688 0.7188 +0.875 0.4688 0.75 +0.875 0.4688 0.7812 +0.875 0.4688 0.8125 +0.875 0.4688 0.8438 +0.875 0.4688 0.875 +0.875 0.4688 0.9062 +0.875 0.4688 0.9375 +0.875 0.4688 0.9688 +0.875 0.4688 1 +0.875 0.5 0 +0.875 0.5 0.03125 +0.875 0.5 0.0625 +0.875 0.5 0.09375 +0.875 0.5 0.125 +0.875 0.5 0.1562 +0.875 0.5 0.1875 +0.875 0.5 0.2188 +0.875 0.5 0.25 +0.875 0.5 0.2812 +0.875 0.5 0.3125 +0.875 0.5 0.3438 +0.875 0.5 0.375 +0.875 0.5 0.4062 +0.875 0.5 0.4375 +0.875 0.5 0.4688 +0.875 0.5 0.5 +0.875 0.5 0.5312 +0.875 0.5 0.5625 +0.875 0.5 0.5938 +0.875 0.5 0.625 +0.875 0.5 0.6562 +0.875 0.5 0.6875 +0.875 0.5 0.7188 +0.875 0.5 0.75 +0.875 0.5 0.7812 +0.875 0.5 0.8125 +0.875 0.5 0.8438 +0.875 0.5 0.875 +0.875 0.5 0.9062 +0.875 0.5 0.9375 +0.875 0.5 0.9688 +0.875 0.5 1 +0.875 0.5312 0 +0.875 0.5312 0.03125 +0.875 0.5312 0.0625 +0.875 0.5312 0.09375 +0.875 0.5312 0.125 +0.875 0.5312 0.1562 +0.875 0.5312 0.1875 +0.875 0.5312 0.2188 +0.875 0.5312 0.25 +0.875 0.5312 0.2812 +0.875 0.5312 0.3125 +0.875 0.5312 0.3438 +0.875 0.5312 0.375 +0.875 0.5312 0.4062 +0.875 0.5312 0.4375 +0.875 0.5312 0.4688 +0.875 0.5312 0.5 +0.875 0.5312 0.5312 +0.875 0.5312 0.5625 +0.875 0.5312 0.5938 +0.875 0.5312 0.625 +0.875 0.5312 0.6562 +0.875 0.5312 0.6875 +0.875 0.5312 0.7188 +0.875 0.5312 0.75 +0.875 0.5312 0.7812 +0.875 0.5312 0.8125 +0.875 0.5312 0.8438 +0.875 0.5312 0.875 +0.875 0.5312 0.9062 +0.875 0.5312 0.9375 +0.875 0.5312 0.9688 +0.875 0.5312 1 +0.875 0.5625 0 +0.875 0.5625 0.03125 +0.875 0.5625 0.0625 +0.875 0.5625 0.09375 +0.875 0.5625 0.125 +0.875 0.5625 0.1562 +0.875 0.5625 0.1875 +0.875 0.5625 0.2188 +0.875 0.5625 0.25 +0.875 0.5625 0.2812 +0.875 0.5625 0.3125 +0.875 0.5625 0.3438 +0.875 0.5625 0.375 +0.875 0.5625 0.4062 +0.875 0.5625 0.4375 +0.875 0.5625 0.4688 +0.875 0.5625 0.5 +0.875 0.5625 0.5312 +0.875 0.5625 0.5625 +0.875 0.5625 0.5938 +0.875 0.5625 0.625 +0.875 0.5625 0.6562 +0.875 0.5625 0.6875 +0.875 0.5625 0.7188 +0.875 0.5625 0.75 +0.875 0.5625 0.7812 +0.875 0.5625 0.8125 +0.875 0.5625 0.8438 +0.875 0.5625 0.875 +0.875 0.5625 0.9062 +0.875 0.5625 0.9375 +0.875 0.5625 0.9688 +0.875 0.5625 1 +0.875 0.5938 0 +0.875 0.5938 0.03125 +0.875 0.5938 0.0625 +0.875 0.5938 0.09375 +0.875 0.5938 0.125 +0.875 0.5938 0.1562 +0.875 0.5938 0.1875 +0.875 0.5938 0.2188 +0.875 0.5938 0.25 +0.875 0.5938 0.2812 +0.875 0.5938 0.3125 +0.875 0.5938 0.3438 +0.875 0.5938 0.375 +0.875 0.5938 0.4062 +0.875 0.5938 0.4375 +0.875 0.5938 0.4688 +0.875 0.5938 0.5 +0.875 0.5938 0.5312 +0.875 0.5938 0.5625 +0.875 0.5938 0.5938 +0.875 0.5938 0.625 +0.875 0.5938 0.6562 +0.875 0.5938 0.6875 +0.875 0.5938 0.7188 +0.875 0.5938 0.75 +0.875 0.5938 0.7812 +0.875 0.5938 0.8125 +0.875 0.5938 0.8438 +0.875 0.5938 0.875 +0.875 0.5938 0.9062 +0.875 0.5938 0.9375 +0.875 0.5938 0.9688 +0.875 0.5938 1 +0.875 0.625 0 +0.875 0.625 0.03125 +0.875 0.625 0.0625 +0.875 0.625 0.09375 +0.875 0.625 0.125 +0.875 0.625 0.1562 +0.875 0.625 0.1875 +0.875 0.625 0.2188 +0.875 0.625 0.25 +0.875 0.625 0.2812 +0.875 0.625 0.3125 +0.875 0.625 0.3438 +0.875 0.625 0.375 +0.875 0.625 0.4062 +0.875 0.625 0.4375 +0.875 0.625 0.4688 +0.875 0.625 0.5 +0.875 0.625 0.5312 +0.875 0.625 0.5625 +0.875 0.625 0.5938 +0.875 0.625 0.625 +0.875 0.625 0.6562 +0.875 0.625 0.6875 +0.875 0.625 0.7188 +0.875 0.625 0.75 +0.875 0.625 0.7812 +0.875 0.625 0.8125 +0.875 0.625 0.8438 +0.875 0.625 0.875 +0.875 0.625 0.9062 +0.875 0.625 0.9375 +0.875 0.625 0.9688 +0.875 0.625 1 +0.875 0.6562 0 +0.875 0.6562 0.03125 +0.875 0.6562 0.0625 +0.875 0.6562 0.09375 +0.875 0.6562 0.125 +0.875 0.6562 0.1562 +0.875 0.6562 0.1875 +0.875 0.6562 0.2188 +0.875 0.6562 0.25 +0.875 0.6562 0.2812 +0.875 0.6562 0.3125 +0.875 0.6562 0.3438 +0.875 0.6562 0.375 +0.875 0.6562 0.4062 +0.875 0.6562 0.4375 +0.875 0.6562 0.4688 +0.875 0.6562 0.5 +0.875 0.6562 0.5312 +0.875 0.6562 0.5625 +0.875 0.6562 0.5938 +0.875 0.6562 0.625 +0.875 0.6562 0.6562 +0.875 0.6562 0.6875 +0.875 0.6562 0.7188 +0.875 0.6562 0.75 +0.875 0.6562 0.7812 +0.875 0.6562 0.8125 +0.875 0.6562 0.8438 +0.875 0.6562 0.875 +0.875 0.6562 0.9062 +0.875 0.6562 0.9375 +0.875 0.6562 0.9688 +0.875 0.6562 1 +0.875 0.6875 0 +0.875 0.6875 0.03125 +0.875 0.6875 0.0625 +0.875 0.6875 0.09375 +0.875 0.6875 0.125 +0.875 0.6875 0.1562 +0.875 0.6875 0.1875 +0.875 0.6875 0.2188 +0.875 0.6875 0.25 +0.875 0.6875 0.2812 +0.875 0.6875 0.3125 +0.875 0.6875 0.3438 +0.875 0.6875 0.375 +0.875 0.6875 0.4062 +0.875 0.6875 0.4375 +0.875 0.6875 0.4688 +0.875 0.6875 0.5 +0.875 0.6875 0.5312 +0.875 0.6875 0.5625 +0.875 0.6875 0.5938 +0.875 0.6875 0.625 +0.875 0.6875 0.6562 +0.875 0.6875 0.6875 +0.875 0.6875 0.7188 +0.875 0.6875 0.75 +0.875 0.6875 0.7812 +0.875 0.6875 0.8125 +0.875 0.6875 0.8438 +0.875 0.6875 0.875 +0.875 0.6875 0.9062 +0.875 0.6875 0.9375 +0.875 0.6875 0.9688 +0.875 0.6875 1 +0.875 0.7188 0 +0.875 0.7188 0.03125 +0.875 0.7188 0.0625 +0.875 0.7188 0.09375 +0.875 0.7188 0.125 +0.875 0.7188 0.1562 +0.875 0.7188 0.1875 +0.875 0.7188 0.2188 +0.875 0.7188 0.25 +0.875 0.7188 0.2812 +0.875 0.7188 0.3125 +0.875 0.7188 0.3438 +0.875 0.7188 0.375 +0.875 0.7188 0.4062 +0.875 0.7188 0.4375 +0.875 0.7188 0.4688 +0.875 0.7188 0.5 +0.875 0.7188 0.5312 +0.875 0.7188 0.5625 +0.875 0.7188 0.5938 +0.875 0.7188 0.625 +0.875 0.7188 0.6562 +0.875 0.7188 0.6875 +0.875 0.7188 0.7188 +0.875 0.7188 0.75 +0.875 0.7188 0.7812 +0.875 0.7188 0.8125 +0.875 0.7188 0.8438 +0.875 0.7188 0.875 +0.875 0.7188 0.9062 +0.875 0.7188 0.9375 +0.875 0.7188 0.9688 +0.875 0.7188 1 +0.875 0.75 0 +0.875 0.75 0.03125 +0.875 0.75 0.0625 +0.875 0.75 0.09375 +0.875 0.75 0.125 +0.875 0.75 0.1562 +0.875 0.75 0.1875 +0.875 0.75 0.2188 +0.875 0.75 0.25 +0.875 0.75 0.2812 +0.875 0.75 0.3125 +0.875 0.75 0.3438 +0.875 0.75 0.375 +0.875 0.75 0.4062 +0.875 0.75 0.4375 +0.875 0.75 0.4688 +0.875 0.75 0.5 +0.875 0.75 0.5312 +0.875 0.75 0.5625 +0.875 0.75 0.5938 +0.875 0.75 0.625 +0.875 0.75 0.6562 +0.875 0.75 0.6875 +0.875 0.75 0.7188 +0.875 0.75 0.75 +0.875 0.75 0.7812 +0.875 0.75 0.8125 +0.875 0.75 0.8438 +0.875 0.75 0.875 +0.875 0.75 0.9062 +0.875 0.75 0.9375 +0.875 0.75 0.9688 +0.875 0.75 1 +0.875 0.7812 0 +0.875 0.7812 0.03125 +0.875 0.7812 0.0625 +0.875 0.7812 0.09375 +0.875 0.7812 0.125 +0.875 0.7812 0.1562 +0.875 0.7812 0.1875 +0.875 0.7812 0.2188 +0.875 0.7812 0.25 +0.875 0.7812 0.2812 +0.875 0.7812 0.3125 +0.875 0.7812 0.3438 +0.875 0.7812 0.375 +0.875 0.7812 0.4062 +0.875 0.7812 0.4375 +0.875 0.7812 0.4688 +0.875 0.7812 0.5 +0.875 0.7812 0.5312 +0.875 0.7812 0.5625 +0.875 0.7812 0.5938 +0.875 0.7812 0.625 +0.875 0.7812 0.6562 +0.875 0.7812 0.6875 +0.875 0.7812 0.7188 +0.875 0.7812 0.75 +0.875 0.7812 0.7812 +0.875 0.7812 0.8125 +0.875 0.7812 0.8438 +0.875 0.7812 0.875 +0.875 0.7812 0.9062 +0.875 0.7812 0.9375 +0.875 0.7812 0.9688 +0.875 0.7812 1 +0.875 0.8125 0 +0.875 0.8125 0.03125 +0.875 0.8125 0.0625 +0.875 0.8125 0.09375 +0.875 0.8125 0.125 +0.875 0.8125 0.1562 +0.875 0.8125 0.1875 +0.875 0.8125 0.2188 +0.875 0.8125 0.25 +0.875 0.8125 0.2812 +0.875 0.8125 0.3125 +0.875 0.8125 0.3438 +0.875 0.8125 0.375 +0.875 0.8125 0.4062 +0.875 0.8125 0.4375 +0.875 0.8125 0.4688 +0.875 0.8125 0.5 +0.875 0.8125 0.5312 +0.875 0.8125 0.5625 +0.875 0.8125 0.5938 +0.875 0.8125 0.625 +0.875 0.8125 0.6562 +0.875 0.8125 0.6875 +0.875 0.8125 0.7188 +0.875 0.8125 0.75 +0.875 0.8125 0.7812 +0.875 0.8125 0.8125 +0.875 0.8125 0.8438 +0.875 0.8125 0.875 +0.875 0.8125 0.9062 +0.875 0.8125 0.9375 +0.875 0.8125 0.9688 +0.875 0.8125 1 +0.875 0.8438 0 +0.875 0.8438 0.03125 +0.875 0.8438 0.0625 +0.875 0.8438 0.09375 +0.875 0.8438 0.125 +0.875 0.8438 0.1562 +0.875 0.8438 0.1875 +0.875 0.8438 0.2188 +0.875 0.8438 0.25 +0.875 0.8438 0.2812 +0.875 0.8438 0.3125 +0.875 0.8438 0.3438 +0.875 0.8438 0.375 +0.875 0.8438 0.4062 +0.875 0.8438 0.4375 +0.875 0.8438 0.4688 +0.875 0.8438 0.5 +0.875 0.8438 0.5312 +0.875 0.8438 0.5625 +0.875 0.8438 0.5938 +0.875 0.8438 0.625 +0.875 0.8438 0.6562 +0.875 0.8438 0.6875 +0.875 0.8438 0.7188 +0.875 0.8438 0.75 +0.875 0.8438 0.7812 +0.875 0.8438 0.8125 +0.875 0.8438 0.8438 +0.875 0.8438 0.875 +0.875 0.8438 0.9062 +0.875 0.8438 0.9375 +0.875 0.8438 0.9688 +0.875 0.8438 1 +0.875 0.875 0 +0.875 0.875 0.03125 +0.875 0.875 0.0625 +0.875 0.875 0.09375 +0.875 0.875 0.125 +0.875 0.875 0.1562 +0.875 0.875 0.1875 +0.875 0.875 0.2188 +0.875 0.875 0.25 +0.875 0.875 0.2812 +0.875 0.875 0.3125 +0.875 0.875 0.3438 +0.875 0.875 0.375 +0.875 0.875 0.4062 +0.875 0.875 0.4375 +0.875 0.875 0.4688 +0.875 0.875 0.5 +0.875 0.875 0.5312 +0.875 0.875 0.5625 +0.875 0.875 0.5938 +0.875 0.875 0.625 +0.875 0.875 0.6562 +0.875 0.875 0.6875 +0.875 0.875 0.7188 +0.875 0.875 0.75 +0.875 0.875 0.7812 +0.875 0.875 0.8125 +0.875 0.875 0.8438 +0.875 0.875 0.875 +0.875 0.875 0.9062 +0.875 0.875 0.9375 +0.875 0.875 0.9688 +0.875 0.875 1 +0.875 0.9062 0 +0.875 0.9062 0.03125 +0.875 0.9062 0.0625 +0.875 0.9062 0.09375 +0.875 0.9062 0.125 +0.875 0.9062 0.1562 +0.875 0.9062 0.1875 +0.875 0.9062 0.2188 +0.875 0.9062 0.25 +0.875 0.9062 0.2812 +0.875 0.9062 0.3125 +0.875 0.9062 0.3438 +0.875 0.9062 0.375 +0.875 0.9062 0.4062 +0.875 0.9062 0.4375 +0.875 0.9062 0.4688 +0.875 0.9062 0.5 +0.875 0.9062 0.5312 +0.875 0.9062 0.5625 +0.875 0.9062 0.5938 +0.875 0.9062 0.625 +0.875 0.9062 0.6562 +0.875 0.9062 0.6875 +0.875 0.9062 0.7188 +0.875 0.9062 0.75 +0.875 0.9062 0.7812 +0.875 0.9062 0.8125 +0.875 0.9062 0.8438 +0.875 0.9062 0.875 +0.875 0.9062 0.9062 +0.875 0.9062 0.9375 +0.875 0.9062 0.9688 +0.875 0.9062 1 +0.875 0.9375 0 +0.875 0.9375 0.03125 +0.875 0.9375 0.0625 +0.875 0.9375 0.09375 +0.875 0.9375 0.125 +0.875 0.9375 0.1562 +0.875 0.9375 0.1875 +0.875 0.9375 0.2188 +0.875 0.9375 0.25 +0.875 0.9375 0.2812 +0.875 0.9375 0.3125 +0.875 0.9375 0.3438 +0.875 0.9375 0.375 +0.875 0.9375 0.4062 +0.875 0.9375 0.4375 +0.875 0.9375 0.4688 +0.875 0.9375 0.5 +0.875 0.9375 0.5312 +0.875 0.9375 0.5625 +0.875 0.9375 0.5938 +0.875 0.9375 0.625 +0.875 0.9375 0.6562 +0.875 0.9375 0.6875 +0.875 0.9375 0.7188 +0.875 0.9375 0.75 +0.875 0.9375 0.7812 +0.875 0.9375 0.8125 +0.875 0.9375 0.8438 +0.875 0.9375 0.875 +0.875 0.9375 0.9062 +0.875 0.9375 0.9375 +0.875 0.9375 0.9688 +0.875 0.9375 1 +0.875 0.9688 0 +0.875 0.9688 0.03125 +0.875 0.9688 0.0625 +0.875 0.9688 0.09375 +0.875 0.9688 0.125 +0.875 0.9688 0.1562 +0.875 0.9688 0.1875 +0.875 0.9688 0.2188 +0.875 0.9688 0.25 +0.875 0.9688 0.2812 +0.875 0.9688 0.3125 +0.875 0.9688 0.3438 +0.875 0.9688 0.375 +0.875 0.9688 0.4062 +0.875 0.9688 0.4375 +0.875 0.9688 0.4688 +0.875 0.9688 0.5 +0.875 0.9688 0.5312 +0.875 0.9688 0.5625 +0.875 0.9688 0.5938 +0.875 0.9688 0.625 +0.875 0.9688 0.6562 +0.875 0.9688 0.6875 +0.875 0.9688 0.7188 +0.875 0.9688 0.75 +0.875 0.9688 0.7812 +0.875 0.9688 0.8125 +0.875 0.9688 0.8438 +0.875 0.9688 0.875 +0.875 0.9688 0.9062 +0.875 0.9688 0.9375 +0.875 0.9688 0.9688 +0.875 0.9688 1 +0.875 1 0 +0.875 1 0.03125 +0.875 1 0.0625 +0.875 1 0.09375 +0.875 1 0.125 +0.875 1 0.1562 +0.875 1 0.1875 +0.875 1 0.2188 +0.875 1 0.25 +0.875 1 0.2812 +0.875 1 0.3125 +0.875 1 0.3438 +0.875 1 0.375 +0.875 1 0.4062 +0.875 1 0.4375 +0.875 1 0.4688 +0.875 1 0.5 +0.875 1 0.5312 +0.875 1 0.5625 +0.875 1 0.5938 +0.875 1 0.625 +0.875 1 0.6562 +0.875 1 0.6875 +0.875 1 0.7188 +0.875 1 0.75 +0.875 1 0.7812 +0.875 1 0.8125 +0.875 1 0.8438 +0.875 1 0.875 +0.875 1 0.9062 +0.875 1 0.9375 +0.875 1 0.9688 +0.875 1 1 +0.9062 0 0 +0.9062 0 0.03125 +0.9062 0 0.0625 +0.9062 0 0.09375 +0.9062 0 0.125 +0.9062 0 0.1562 +0.9062 0 0.1875 +0.9062 0 0.2188 +0.9062 0 0.25 +0.9062 0 0.2812 +0.9062 0 0.3125 +0.9062 0 0.3438 +0.9062 0 0.375 +0.9062 0 0.4062 +0.9062 0 0.4375 +0.9062 0 0.4688 +0.9062 0 0.5 +0.9062 0 0.5312 +0.9062 0 0.5625 +0.9062 0 0.5938 +0.9062 0 0.625 +0.9062 0 0.6562 +0.9062 0 0.6875 +0.9062 0 0.7188 +0.9062 0 0.75 +0.9062 0 0.7812 +0.9062 0 0.8125 +0.9062 0 0.8438 +0.9062 0 0.875 +0.9062 0 0.9062 +0.9062 0 0.9375 +0.9062 0 0.9688 +0.9062 0 1 +0.9062 0.03125 0 +0.9062 0.03125 0.03125 +0.9062 0.03125 0.0625 +0.9062 0.03125 0.09375 +0.9062 0.03125 0.125 +0.9062 0.03125 0.1562 +0.9062 0.03125 0.1875 +0.9062 0.03125 0.2188 +0.9062 0.03125 0.25 +0.9062 0.03125 0.2812 +0.9062 0.03125 0.3125 +0.9062 0.03125 0.3438 +0.9062 0.03125 0.375 +0.9062 0.03125 0.4062 +0.9062 0.03125 0.4375 +0.9062 0.03125 0.4688 +0.9062 0.03125 0.5 +0.9062 0.03125 0.5312 +0.9062 0.03125 0.5625 +0.9062 0.03125 0.5938 +0.9062 0.03125 0.625 +0.9062 0.03125 0.6562 +0.9062 0.03125 0.6875 +0.9062 0.03125 0.7188 +0.9062 0.03125 0.75 +0.9062 0.03125 0.7812 +0.9062 0.03125 0.8125 +0.9062 0.03125 0.8438 +0.9062 0.03125 0.875 +0.9062 0.03125 0.9062 +0.9062 0.03125 0.9375 +0.9062 0.03125 0.9688 +0.9062 0.03125 1 +0.9062 0.0625 0 +0.9062 0.0625 0.03125 +0.9062 0.0625 0.0625 +0.9062 0.0625 0.09375 +0.9062 0.0625 0.125 +0.9062 0.0625 0.1562 +0.9062 0.0625 0.1875 +0.9062 0.0625 0.2188 +0.9062 0.0625 0.25 +0.9062 0.0625 0.2812 +0.9062 0.0625 0.3125 +0.9062 0.0625 0.3438 +0.9062 0.0625 0.375 +0.9062 0.0625 0.4062 +0.9062 0.0625 0.4375 +0.9062 0.0625 0.4688 +0.9062 0.0625 0.5 +0.9062 0.0625 0.5312 +0.9062 0.0625 0.5625 +0.9062 0.0625 0.5938 +0.9062 0.0625 0.625 +0.9062 0.0625 0.6562 +0.9062 0.0625 0.6875 +0.9062 0.0625 0.7188 +0.9062 0.0625 0.75 +0.9062 0.0625 0.7812 +0.9062 0.0625 0.8125 +0.9062 0.0625 0.8438 +0.9062 0.0625 0.875 +0.9062 0.0625 0.9062 +0.9062 0.0625 0.9375 +0.9062 0.0625 0.9688 +0.9062 0.0625 1 +0.9062 0.09375 0 +0.9062 0.09375 0.03125 +0.9062 0.09375 0.0625 +0.9062 0.09375 0.09375 +0.9062 0.09375 0.125 +0.9062 0.09375 0.1562 +0.9062 0.09375 0.1875 +0.9062 0.09375 0.2188 +0.9062 0.09375 0.25 +0.9062 0.09375 0.2812 +0.9062 0.09375 0.3125 +0.9062 0.09375 0.3438 +0.9062 0.09375 0.375 +0.9062 0.09375 0.4062 +0.9062 0.09375 0.4375 +0.9062 0.09375 0.4688 +0.9062 0.09375 0.5 +0.9062 0.09375 0.5312 +0.9062 0.09375 0.5625 +0.9062 0.09375 0.5938 +0.9062 0.09375 0.625 +0.9062 0.09375 0.6562 +0.9062 0.09375 0.6875 +0.9062 0.09375 0.7188 +0.9062 0.09375 0.75 +0.9062 0.09375 0.7812 +0.9062 0.09375 0.8125 +0.9062 0.09375 0.8438 +0.9062 0.09375 0.875 +0.9062 0.09375 0.9062 +0.9062 0.09375 0.9375 +0.9062 0.09375 0.9688 +0.9062 0.09375 1 +0.9062 0.125 0 +0.9062 0.125 0.03125 +0.9062 0.125 0.0625 +0.9062 0.125 0.09375 +0.9062 0.125 0.125 +0.9062 0.125 0.1562 +0.9062 0.125 0.1875 +0.9062 0.125 0.2188 +0.9062 0.125 0.25 +0.9062 0.125 0.2812 +0.9062 0.125 0.3125 +0.9062 0.125 0.3438 +0.9062 0.125 0.375 +0.9062 0.125 0.4062 +0.9062 0.125 0.4375 +0.9062 0.125 0.4688 +0.9062 0.125 0.5 +0.9062 0.125 0.5312 +0.9062 0.125 0.5625 +0.9062 0.125 0.5938 +0.9062 0.125 0.625 +0.9062 0.125 0.6562 +0.9062 0.125 0.6875 +0.9062 0.125 0.7188 +0.9062 0.125 0.75 +0.9062 0.125 0.7812 +0.9062 0.125 0.8125 +0.9062 0.125 0.8438 +0.9062 0.125 0.875 +0.9062 0.125 0.9062 +0.9062 0.125 0.9375 +0.9062 0.125 0.9688 +0.9062 0.125 1 +0.9062 0.1562 0 +0.9062 0.1562 0.03125 +0.9062 0.1562 0.0625 +0.9062 0.1562 0.09375 +0.9062 0.1562 0.125 +0.9062 0.1562 0.1562 +0.9062 0.1562 0.1875 +0.9062 0.1562 0.2188 +0.9062 0.1562 0.25 +0.9062 0.1562 0.2812 +0.9062 0.1562 0.3125 +0.9062 0.1562 0.3438 +0.9062 0.1562 0.375 +0.9062 0.1562 0.4062 +0.9062 0.1562 0.4375 +0.9062 0.1562 0.4688 +0.9062 0.1562 0.5 +0.9062 0.1562 0.5312 +0.9062 0.1562 0.5625 +0.9062 0.1562 0.5938 +0.9062 0.1562 0.625 +0.9062 0.1562 0.6562 +0.9062 0.1562 0.6875 +0.9062 0.1562 0.7188 +0.9062 0.1562 0.75 +0.9062 0.1562 0.7812 +0.9062 0.1562 0.8125 +0.9062 0.1562 0.8438 +0.9062 0.1562 0.875 +0.9062 0.1562 0.9062 +0.9062 0.1562 0.9375 +0.9062 0.1562 0.9688 +0.9062 0.1562 1 +0.9062 0.1875 0 +0.9062 0.1875 0.03125 +0.9062 0.1875 0.0625 +0.9062 0.1875 0.09375 +0.9062 0.1875 0.125 +0.9062 0.1875 0.1562 +0.9062 0.1875 0.1875 +0.9062 0.1875 0.2188 +0.9062 0.1875 0.25 +0.9062 0.1875 0.2812 +0.9062 0.1875 0.3125 +0.9062 0.1875 0.3438 +0.9062 0.1875 0.375 +0.9062 0.1875 0.4062 +0.9062 0.1875 0.4375 +0.9062 0.1875 0.4688 +0.9062 0.1875 0.5 +0.9062 0.1875 0.5312 +0.9062 0.1875 0.5625 +0.9062 0.1875 0.5938 +0.9062 0.1875 0.625 +0.9062 0.1875 0.6562 +0.9062 0.1875 0.6875 +0.9062 0.1875 0.7188 +0.9062 0.1875 0.75 +0.9062 0.1875 0.7812 +0.9062 0.1875 0.8125 +0.9062 0.1875 0.8438 +0.9062 0.1875 0.875 +0.9062 0.1875 0.9062 +0.9062 0.1875 0.9375 +0.9062 0.1875 0.9688 +0.9062 0.1875 1 +0.9062 0.2188 0 +0.9062 0.2188 0.03125 +0.9062 0.2188 0.0625 +0.9062 0.2188 0.09375 +0.9062 0.2188 0.125 +0.9062 0.2188 0.1562 +0.9062 0.2188 0.1875 +0.9062 0.2188 0.2188 +0.9062 0.2188 0.25 +0.9062 0.2188 0.2812 +0.9062 0.2188 0.3125 +0.9062 0.2188 0.3438 +0.9062 0.2188 0.375 +0.9062 0.2188 0.4062 +0.9062 0.2188 0.4375 +0.9062 0.2188 0.4688 +0.9062 0.2188 0.5 +0.9062 0.2188 0.5312 +0.9062 0.2188 0.5625 +0.9062 0.2188 0.5938 +0.9062 0.2188 0.625 +0.9062 0.2188 0.6562 +0.9062 0.2188 0.6875 +0.9062 0.2188 0.7188 +0.9062 0.2188 0.75 +0.9062 0.2188 0.7812 +0.9062 0.2188 0.8125 +0.9062 0.2188 0.8438 +0.9062 0.2188 0.875 +0.9062 0.2188 0.9062 +0.9062 0.2188 0.9375 +0.9062 0.2188 0.9688 +0.9062 0.2188 1 +0.9062 0.25 0 +0.9062 0.25 0.03125 +0.9062 0.25 0.0625 +0.9062 0.25 0.09375 +0.9062 0.25 0.125 +0.9062 0.25 0.1562 +0.9062 0.25 0.1875 +0.9062 0.25 0.2188 +0.9062 0.25 0.25 +0.9062 0.25 0.2812 +0.9062 0.25 0.3125 +0.9062 0.25 0.3438 +0.9062 0.25 0.375 +0.9062 0.25 0.4062 +0.9062 0.25 0.4375 +0.9062 0.25 0.4688 +0.9062 0.25 0.5 +0.9062 0.25 0.5312 +0.9062 0.25 0.5625 +0.9062 0.25 0.5938 +0.9062 0.25 0.625 +0.9062 0.25 0.6562 +0.9062 0.25 0.6875 +0.9062 0.25 0.7188 +0.9062 0.25 0.75 +0.9062 0.25 0.7812 +0.9062 0.25 0.8125 +0.9062 0.25 0.8438 +0.9062 0.25 0.875 +0.9062 0.25 0.9062 +0.9062 0.25 0.9375 +0.9062 0.25 0.9688 +0.9062 0.25 1 +0.9062 0.2812 0 +0.9062 0.2812 0.03125 +0.9062 0.2812 0.0625 +0.9062 0.2812 0.09375 +0.9062 0.2812 0.125 +0.9062 0.2812 0.1562 +0.9062 0.2812 0.1875 +0.9062 0.2812 0.2188 +0.9062 0.2812 0.25 +0.9062 0.2812 0.2812 +0.9062 0.2812 0.3125 +0.9062 0.2812 0.3438 +0.9062 0.2812 0.375 +0.9062 0.2812 0.4062 +0.9062 0.2812 0.4375 +0.9062 0.2812 0.4688 +0.9062 0.2812 0.5 +0.9062 0.2812 0.5312 +0.9062 0.2812 0.5625 +0.9062 0.2812 0.5938 +0.9062 0.2812 0.625 +0.9062 0.2812 0.6562 +0.9062 0.2812 0.6875 +0.9062 0.2812 0.7188 +0.9062 0.2812 0.75 +0.9062 0.2812 0.7812 +0.9062 0.2812 0.8125 +0.9062 0.2812 0.8438 +0.9062 0.2812 0.875 +0.9062 0.2812 0.9062 +0.9062 0.2812 0.9375 +0.9062 0.2812 0.9688 +0.9062 0.2812 1 +0.9062 0.3125 0 +0.9062 0.3125 0.03125 +0.9062 0.3125 0.0625 +0.9062 0.3125 0.09375 +0.9062 0.3125 0.125 +0.9062 0.3125 0.1562 +0.9062 0.3125 0.1875 +0.9062 0.3125 0.2188 +0.9062 0.3125 0.25 +0.9062 0.3125 0.2812 +0.9062 0.3125 0.3125 +0.9062 0.3125 0.3438 +0.9062 0.3125 0.375 +0.9062 0.3125 0.4062 +0.9062 0.3125 0.4375 +0.9062 0.3125 0.4688 +0.9062 0.3125 0.5 +0.9062 0.3125 0.5312 +0.9062 0.3125 0.5625 +0.9062 0.3125 0.5938 +0.9062 0.3125 0.625 +0.9062 0.3125 0.6562 +0.9062 0.3125 0.6875 +0.9062 0.3125 0.7188 +0.9062 0.3125 0.75 +0.9062 0.3125 0.7812 +0.9062 0.3125 0.8125 +0.9062 0.3125 0.8438 +0.9062 0.3125 0.875 +0.9062 0.3125 0.9062 +0.9062 0.3125 0.9375 +0.9062 0.3125 0.9688 +0.9062 0.3125 1 +0.9062 0.3438 0 +0.9062 0.3438 0.03125 +0.9062 0.3438 0.0625 +0.9062 0.3438 0.09375 +0.9062 0.3438 0.125 +0.9062 0.3438 0.1562 +0.9062 0.3438 0.1875 +0.9062 0.3438 0.2188 +0.9062 0.3438 0.25 +0.9062 0.3438 0.2812 +0.9062 0.3438 0.3125 +0.9062 0.3438 0.3438 +0.9062 0.3438 0.375 +0.9062 0.3438 0.4062 +0.9062 0.3438 0.4375 +0.9062 0.3438 0.4688 +0.9062 0.3438 0.5 +0.9062 0.3438 0.5312 +0.9062 0.3438 0.5625 +0.9062 0.3438 0.5938 +0.9062 0.3438 0.625 +0.9062 0.3438 0.6562 +0.9062 0.3438 0.6875 +0.9062 0.3438 0.7188 +0.9062 0.3438 0.75 +0.9062 0.3438 0.7812 +0.9062 0.3438 0.8125 +0.9062 0.3438 0.8438 +0.9062 0.3438 0.875 +0.9062 0.3438 0.9062 +0.9062 0.3438 0.9375 +0.9062 0.3438 0.9688 +0.9062 0.3438 1 +0.9062 0.375 0 +0.9062 0.375 0.03125 +0.9062 0.375 0.0625 +0.9062 0.375 0.09375 +0.9062 0.375 0.125 +0.9062 0.375 0.1562 +0.9062 0.375 0.1875 +0.9062 0.375 0.2188 +0.9062 0.375 0.25 +0.9062 0.375 0.2812 +0.9062 0.375 0.3125 +0.9062 0.375 0.3438 +0.9062 0.375 0.375 +0.9062 0.375 0.4062 +0.9062 0.375 0.4375 +0.9062 0.375 0.4688 +0.9062 0.375 0.5 +0.9062 0.375 0.5312 +0.9062 0.375 0.5625 +0.9062 0.375 0.5938 +0.9062 0.375 0.625 +0.9062 0.375 0.6562 +0.9062 0.375 0.6875 +0.9062 0.375 0.7188 +0.9062 0.375 0.75 +0.9062 0.375 0.7812 +0.9062 0.375 0.8125 +0.9062 0.375 0.8438 +0.9062 0.375 0.875 +0.9062 0.375 0.9062 +0.9062 0.375 0.9375 +0.9062 0.375 0.9688 +0.9062 0.375 1 +0.9062 0.4062 0 +0.9062 0.4062 0.03125 +0.9062 0.4062 0.0625 +0.9062 0.4062 0.09375 +0.9062 0.4062 0.125 +0.9062 0.4062 0.1562 +0.9062 0.4062 0.1875 +0.9062 0.4062 0.2188 +0.9062 0.4062 0.25 +0.9062 0.4062 0.2812 +0.9062 0.4062 0.3125 +0.9062 0.4062 0.3438 +0.9062 0.4062 0.375 +0.9062 0.4062 0.4062 +0.9062 0.4062 0.4375 +0.9062 0.4062 0.4688 +0.9062 0.4062 0.5 +0.9062 0.4062 0.5312 +0.9062 0.4062 0.5625 +0.9062 0.4062 0.5938 +0.9062 0.4062 0.625 +0.9062 0.4062 0.6562 +0.9062 0.4062 0.6875 +0.9062 0.4062 0.7188 +0.9062 0.4062 0.75 +0.9062 0.4062 0.7812 +0.9062 0.4062 0.8125 +0.9062 0.4062 0.8438 +0.9062 0.4062 0.875 +0.9062 0.4062 0.9062 +0.9062 0.4062 0.9375 +0.9062 0.4062 0.9688 +0.9062 0.4062 1 +0.9062 0.4375 0 +0.9062 0.4375 0.03125 +0.9062 0.4375 0.0625 +0.9062 0.4375 0.09375 +0.9062 0.4375 0.125 +0.9062 0.4375 0.1562 +0.9062 0.4375 0.1875 +0.9062 0.4375 0.2188 +0.9062 0.4375 0.25 +0.9062 0.4375 0.2812 +0.9062 0.4375 0.3125 +0.9062 0.4375 0.3438 +0.9062 0.4375 0.375 +0.9062 0.4375 0.4062 +0.9062 0.4375 0.4375 +0.9062 0.4375 0.4688 +0.9062 0.4375 0.5 +0.9062 0.4375 0.5312 +0.9062 0.4375 0.5625 +0.9062 0.4375 0.5938 +0.9062 0.4375 0.625 +0.9062 0.4375 0.6562 +0.9062 0.4375 0.6875 +0.9062 0.4375 0.7188 +0.9062 0.4375 0.75 +0.9062 0.4375 0.7812 +0.9062 0.4375 0.8125 +0.9062 0.4375 0.8438 +0.9062 0.4375 0.875 +0.9062 0.4375 0.9062 +0.9062 0.4375 0.9375 +0.9062 0.4375 0.9688 +0.9062 0.4375 1 +0.9062 0.4688 0 +0.9062 0.4688 0.03125 +0.9062 0.4688 0.0625 +0.9062 0.4688 0.09375 +0.9062 0.4688 0.125 +0.9062 0.4688 0.1562 +0.9062 0.4688 0.1875 +0.9062 0.4688 0.2188 +0.9062 0.4688 0.25 +0.9062 0.4688 0.2812 +0.9062 0.4688 0.3125 +0.9062 0.4688 0.3438 +0.9062 0.4688 0.375 +0.9062 0.4688 0.4062 +0.9062 0.4688 0.4375 +0.9062 0.4688 0.4688 +0.9062 0.4688 0.5 +0.9062 0.4688 0.5312 +0.9062 0.4688 0.5625 +0.9062 0.4688 0.5938 +0.9062 0.4688 0.625 +0.9062 0.4688 0.6562 +0.9062 0.4688 0.6875 +0.9062 0.4688 0.7188 +0.9062 0.4688 0.75 +0.9062 0.4688 0.7812 +0.9062 0.4688 0.8125 +0.9062 0.4688 0.8438 +0.9062 0.4688 0.875 +0.9062 0.4688 0.9062 +0.9062 0.4688 0.9375 +0.9062 0.4688 0.9688 +0.9062 0.4688 1 +0.9062 0.5 0 +0.9062 0.5 0.03125 +0.9062 0.5 0.0625 +0.9062 0.5 0.09375 +0.9062 0.5 0.125 +0.9062 0.5 0.1562 +0.9062 0.5 0.1875 +0.9062 0.5 0.2188 +0.9062 0.5 0.25 +0.9062 0.5 0.2812 +0.9062 0.5 0.3125 +0.9062 0.5 0.3438 +0.9062 0.5 0.375 +0.9062 0.5 0.4062 +0.9062 0.5 0.4375 +0.9062 0.5 0.4688 +0.9062 0.5 0.5 +0.9062 0.5 0.5312 +0.9062 0.5 0.5625 +0.9062 0.5 0.5938 +0.9062 0.5 0.625 +0.9062 0.5 0.6562 +0.9062 0.5 0.6875 +0.9062 0.5 0.7188 +0.9062 0.5 0.75 +0.9062 0.5 0.7812 +0.9062 0.5 0.8125 +0.9062 0.5 0.8438 +0.9062 0.5 0.875 +0.9062 0.5 0.9062 +0.9062 0.5 0.9375 +0.9062 0.5 0.9688 +0.9062 0.5 1 +0.9062 0.5312 0 +0.9062 0.5312 0.03125 +0.9062 0.5312 0.0625 +0.9062 0.5312 0.09375 +0.9062 0.5312 0.125 +0.9062 0.5312 0.1562 +0.9062 0.5312 0.1875 +0.9062 0.5312 0.2188 +0.9062 0.5312 0.25 +0.9062 0.5312 0.2812 +0.9062 0.5312 0.3125 +0.9062 0.5312 0.3438 +0.9062 0.5312 0.375 +0.9062 0.5312 0.4062 +0.9062 0.5312 0.4375 +0.9062 0.5312 0.4688 +0.9062 0.5312 0.5 +0.9062 0.5312 0.5312 +0.9062 0.5312 0.5625 +0.9062 0.5312 0.5938 +0.9062 0.5312 0.625 +0.9062 0.5312 0.6562 +0.9062 0.5312 0.6875 +0.9062 0.5312 0.7188 +0.9062 0.5312 0.75 +0.9062 0.5312 0.7812 +0.9062 0.5312 0.8125 +0.9062 0.5312 0.8438 +0.9062 0.5312 0.875 +0.9062 0.5312 0.9062 +0.9062 0.5312 0.9375 +0.9062 0.5312 0.9688 +0.9062 0.5312 1 +0.9062 0.5625 0 +0.9062 0.5625 0.03125 +0.9062 0.5625 0.0625 +0.9062 0.5625 0.09375 +0.9062 0.5625 0.125 +0.9062 0.5625 0.1562 +0.9062 0.5625 0.1875 +0.9062 0.5625 0.2188 +0.9062 0.5625 0.25 +0.9062 0.5625 0.2812 +0.9062 0.5625 0.3125 +0.9062 0.5625 0.3438 +0.9062 0.5625 0.375 +0.9062 0.5625 0.4062 +0.9062 0.5625 0.4375 +0.9062 0.5625 0.4688 +0.9062 0.5625 0.5 +0.9062 0.5625 0.5312 +0.9062 0.5625 0.5625 +0.9062 0.5625 0.5938 +0.9062 0.5625 0.625 +0.9062 0.5625 0.6562 +0.9062 0.5625 0.6875 +0.9062 0.5625 0.7188 +0.9062 0.5625 0.75 +0.9062 0.5625 0.7812 +0.9062 0.5625 0.8125 +0.9062 0.5625 0.8438 +0.9062 0.5625 0.875 +0.9062 0.5625 0.9062 +0.9062 0.5625 0.9375 +0.9062 0.5625 0.9688 +0.9062 0.5625 1 +0.9062 0.5938 0 +0.9062 0.5938 0.03125 +0.9062 0.5938 0.0625 +0.9062 0.5938 0.09375 +0.9062 0.5938 0.125 +0.9062 0.5938 0.1562 +0.9062 0.5938 0.1875 +0.9062 0.5938 0.2188 +0.9062 0.5938 0.25 +0.9062 0.5938 0.2812 +0.9062 0.5938 0.3125 +0.9062 0.5938 0.3438 +0.9062 0.5938 0.375 +0.9062 0.5938 0.4062 +0.9062 0.5938 0.4375 +0.9062 0.5938 0.4688 +0.9062 0.5938 0.5 +0.9062 0.5938 0.5312 +0.9062 0.5938 0.5625 +0.9062 0.5938 0.5938 +0.9062 0.5938 0.625 +0.9062 0.5938 0.6562 +0.9062 0.5938 0.6875 +0.9062 0.5938 0.7188 +0.9062 0.5938 0.75 +0.9062 0.5938 0.7812 +0.9062 0.5938 0.8125 +0.9062 0.5938 0.8438 +0.9062 0.5938 0.875 +0.9062 0.5938 0.9062 +0.9062 0.5938 0.9375 +0.9062 0.5938 0.9688 +0.9062 0.5938 1 +0.9062 0.625 0 +0.9062 0.625 0.03125 +0.9062 0.625 0.0625 +0.9062 0.625 0.09375 +0.9062 0.625 0.125 +0.9062 0.625 0.1562 +0.9062 0.625 0.1875 +0.9062 0.625 0.2188 +0.9062 0.625 0.25 +0.9062 0.625 0.2812 +0.9062 0.625 0.3125 +0.9062 0.625 0.3438 +0.9062 0.625 0.375 +0.9062 0.625 0.4062 +0.9062 0.625 0.4375 +0.9062 0.625 0.4688 +0.9062 0.625 0.5 +0.9062 0.625 0.5312 +0.9062 0.625 0.5625 +0.9062 0.625 0.5938 +0.9062 0.625 0.625 +0.9062 0.625 0.6562 +0.9062 0.625 0.6875 +0.9062 0.625 0.7188 +0.9062 0.625 0.75 +0.9062 0.625 0.7812 +0.9062 0.625 0.8125 +0.9062 0.625 0.8438 +0.9062 0.625 0.875 +0.9062 0.625 0.9062 +0.9062 0.625 0.9375 +0.9062 0.625 0.9688 +0.9062 0.625 1 +0.9062 0.6562 0 +0.9062 0.6562 0.03125 +0.9062 0.6562 0.0625 +0.9062 0.6562 0.09375 +0.9062 0.6562 0.125 +0.9062 0.6562 0.1562 +0.9062 0.6562 0.1875 +0.9062 0.6562 0.2188 +0.9062 0.6562 0.25 +0.9062 0.6562 0.2812 +0.9062 0.6562 0.3125 +0.9062 0.6562 0.3438 +0.9062 0.6562 0.375 +0.9062 0.6562 0.4062 +0.9062 0.6562 0.4375 +0.9062 0.6562 0.4688 +0.9062 0.6562 0.5 +0.9062 0.6562 0.5312 +0.9062 0.6562 0.5625 +0.9062 0.6562 0.5938 +0.9062 0.6562 0.625 +0.9062 0.6562 0.6562 +0.9062 0.6562 0.6875 +0.9062 0.6562 0.7188 +0.9062 0.6562 0.75 +0.9062 0.6562 0.7812 +0.9062 0.6562 0.8125 +0.9062 0.6562 0.8438 +0.9062 0.6562 0.875 +0.9062 0.6562 0.9062 +0.9062 0.6562 0.9375 +0.9062 0.6562 0.9688 +0.9062 0.6562 1 +0.9062 0.6875 0 +0.9062 0.6875 0.03125 +0.9062 0.6875 0.0625 +0.9062 0.6875 0.09375 +0.9062 0.6875 0.125 +0.9062 0.6875 0.1562 +0.9062 0.6875 0.1875 +0.9062 0.6875 0.2188 +0.9062 0.6875 0.25 +0.9062 0.6875 0.2812 +0.9062 0.6875 0.3125 +0.9062 0.6875 0.3438 +0.9062 0.6875 0.375 +0.9062 0.6875 0.4062 +0.9062 0.6875 0.4375 +0.9062 0.6875 0.4688 +0.9062 0.6875 0.5 +0.9062 0.6875 0.5312 +0.9062 0.6875 0.5625 +0.9062 0.6875 0.5938 +0.9062 0.6875 0.625 +0.9062 0.6875 0.6562 +0.9062 0.6875 0.6875 +0.9062 0.6875 0.7188 +0.9062 0.6875 0.75 +0.9062 0.6875 0.7812 +0.9062 0.6875 0.8125 +0.9062 0.6875 0.8438 +0.9062 0.6875 0.875 +0.9062 0.6875 0.9062 +0.9062 0.6875 0.9375 +0.9062 0.6875 0.9688 +0.9062 0.6875 1 +0.9062 0.7188 0 +0.9062 0.7188 0.03125 +0.9062 0.7188 0.0625 +0.9062 0.7188 0.09375 +0.9062 0.7188 0.125 +0.9062 0.7188 0.1562 +0.9062 0.7188 0.1875 +0.9062 0.7188 0.2188 +0.9062 0.7188 0.25 +0.9062 0.7188 0.2812 +0.9062 0.7188 0.3125 +0.9062 0.7188 0.3438 +0.9062 0.7188 0.375 +0.9062 0.7188 0.4062 +0.9062 0.7188 0.4375 +0.9062 0.7188 0.4688 +0.9062 0.7188 0.5 +0.9062 0.7188 0.5312 +0.9062 0.7188 0.5625 +0.9062 0.7188 0.5938 +0.9062 0.7188 0.625 +0.9062 0.7188 0.6562 +0.9062 0.7188 0.6875 +0.9062 0.7188 0.7188 +0.9062 0.7188 0.75 +0.9062 0.7188 0.7812 +0.9062 0.7188 0.8125 +0.9062 0.7188 0.8438 +0.9062 0.7188 0.875 +0.9062 0.7188 0.9062 +0.9062 0.7188 0.9375 +0.9062 0.7188 0.9688 +0.9062 0.7188 1 +0.9062 0.75 0 +0.9062 0.75 0.03125 +0.9062 0.75 0.0625 +0.9062 0.75 0.09375 +0.9062 0.75 0.125 +0.9062 0.75 0.1562 +0.9062 0.75 0.1875 +0.9062 0.75 0.2188 +0.9062 0.75 0.25 +0.9062 0.75 0.2812 +0.9062 0.75 0.3125 +0.9062 0.75 0.3438 +0.9062 0.75 0.375 +0.9062 0.75 0.4062 +0.9062 0.75 0.4375 +0.9062 0.75 0.4688 +0.9062 0.75 0.5 +0.9062 0.75 0.5312 +0.9062 0.75 0.5625 +0.9062 0.75 0.5938 +0.9062 0.75 0.625 +0.9062 0.75 0.6562 +0.9062 0.75 0.6875 +0.9062 0.75 0.7188 +0.9062 0.75 0.75 +0.9062 0.75 0.7812 +0.9062 0.75 0.8125 +0.9062 0.75 0.8438 +0.9062 0.75 0.875 +0.9062 0.75 0.9062 +0.9062 0.75 0.9375 +0.9062 0.75 0.9688 +0.9062 0.75 1 +0.9062 0.7812 0 +0.9062 0.7812 0.03125 +0.9062 0.7812 0.0625 +0.9062 0.7812 0.09375 +0.9062 0.7812 0.125 +0.9062 0.7812 0.1562 +0.9062 0.7812 0.1875 +0.9062 0.7812 0.2188 +0.9062 0.7812 0.25 +0.9062 0.7812 0.2812 +0.9062 0.7812 0.3125 +0.9062 0.7812 0.3438 +0.9062 0.7812 0.375 +0.9062 0.7812 0.4062 +0.9062 0.7812 0.4375 +0.9062 0.7812 0.4688 +0.9062 0.7812 0.5 +0.9062 0.7812 0.5312 +0.9062 0.7812 0.5625 +0.9062 0.7812 0.5938 +0.9062 0.7812 0.625 +0.9062 0.7812 0.6562 +0.9062 0.7812 0.6875 +0.9062 0.7812 0.7188 +0.9062 0.7812 0.75 +0.9062 0.7812 0.7812 +0.9062 0.7812 0.8125 +0.9062 0.7812 0.8438 +0.9062 0.7812 0.875 +0.9062 0.7812 0.9062 +0.9062 0.7812 0.9375 +0.9062 0.7812 0.9688 +0.9062 0.7812 1 +0.9062 0.8125 0 +0.9062 0.8125 0.03125 +0.9062 0.8125 0.0625 +0.9062 0.8125 0.09375 +0.9062 0.8125 0.125 +0.9062 0.8125 0.1562 +0.9062 0.8125 0.1875 +0.9062 0.8125 0.2188 +0.9062 0.8125 0.25 +0.9062 0.8125 0.2812 +0.9062 0.8125 0.3125 +0.9062 0.8125 0.3438 +0.9062 0.8125 0.375 +0.9062 0.8125 0.4062 +0.9062 0.8125 0.4375 +0.9062 0.8125 0.4688 +0.9062 0.8125 0.5 +0.9062 0.8125 0.5312 +0.9062 0.8125 0.5625 +0.9062 0.8125 0.5938 +0.9062 0.8125 0.625 +0.9062 0.8125 0.6562 +0.9062 0.8125 0.6875 +0.9062 0.8125 0.7188 +0.9062 0.8125 0.75 +0.9062 0.8125 0.7812 +0.9062 0.8125 0.8125 +0.9062 0.8125 0.8438 +0.9062 0.8125 0.875 +0.9062 0.8125 0.9062 +0.9062 0.8125 0.9375 +0.9062 0.8125 0.9688 +0.9062 0.8125 1 +0.9062 0.8438 0 +0.9062 0.8438 0.03125 +0.9062 0.8438 0.0625 +0.9062 0.8438 0.09375 +0.9062 0.8438 0.125 +0.9062 0.8438 0.1562 +0.9062 0.8438 0.1875 +0.9062 0.8438 0.2188 +0.9062 0.8438 0.25 +0.9062 0.8438 0.2812 +0.9062 0.8438 0.3125 +0.9062 0.8438 0.3438 +0.9062 0.8438 0.375 +0.9062 0.8438 0.4062 +0.9062 0.8438 0.4375 +0.9062 0.8438 0.4688 +0.9062 0.8438 0.5 +0.9062 0.8438 0.5312 +0.9062 0.8438 0.5625 +0.9062 0.8438 0.5938 +0.9062 0.8438 0.625 +0.9062 0.8438 0.6562 +0.9062 0.8438 0.6875 +0.9062 0.8438 0.7188 +0.9062 0.8438 0.75 +0.9062 0.8438 0.7812 +0.9062 0.8438 0.8125 +0.9062 0.8438 0.8438 +0.9062 0.8438 0.875 +0.9062 0.8438 0.9062 +0.9062 0.8438 0.9375 +0.9062 0.8438 0.9688 +0.9062 0.8438 1 +0.9062 0.875 0 +0.9062 0.875 0.03125 +0.9062 0.875 0.0625 +0.9062 0.875 0.09375 +0.9062 0.875 0.125 +0.9062 0.875 0.1562 +0.9062 0.875 0.1875 +0.9062 0.875 0.2188 +0.9062 0.875 0.25 +0.9062 0.875 0.2812 +0.9062 0.875 0.3125 +0.9062 0.875 0.3438 +0.9062 0.875 0.375 +0.9062 0.875 0.4062 +0.9062 0.875 0.4375 +0.9062 0.875 0.4688 +0.9062 0.875 0.5 +0.9062 0.875 0.5312 +0.9062 0.875 0.5625 +0.9062 0.875 0.5938 +0.9062 0.875 0.625 +0.9062 0.875 0.6562 +0.9062 0.875 0.6875 +0.9062 0.875 0.7188 +0.9062 0.875 0.75 +0.9062 0.875 0.7812 +0.9062 0.875 0.8125 +0.9062 0.875 0.8438 +0.9062 0.875 0.875 +0.9062 0.875 0.9062 +0.9062 0.875 0.9375 +0.9062 0.875 0.9688 +0.9062 0.875 1 +0.9062 0.9062 0 +0.9062 0.9062 0.03125 +0.9062 0.9062 0.0625 +0.9062 0.9062 0.09375 +0.9062 0.9062 0.125 +0.9062 0.9062 0.1562 +0.9062 0.9062 0.1875 +0.9062 0.9062 0.2188 +0.9062 0.9062 0.25 +0.9062 0.9062 0.2812 +0.9062 0.9062 0.3125 +0.9062 0.9062 0.3438 +0.9062 0.9062 0.375 +0.9062 0.9062 0.4062 +0.9062 0.9062 0.4375 +0.9062 0.9062 0.4688 +0.9062 0.9062 0.5 +0.9062 0.9062 0.5312 +0.9062 0.9062 0.5625 +0.9062 0.9062 0.5938 +0.9062 0.9062 0.625 +0.9062 0.9062 0.6562 +0.9062 0.9062 0.6875 +0.9062 0.9062 0.7188 +0.9062 0.9062 0.75 +0.9062 0.9062 0.7812 +0.9062 0.9062 0.8125 +0.9062 0.9062 0.8438 +0.9062 0.9062 0.875 +0.9062 0.9062 0.9062 +0.9062 0.9062 0.9375 +0.9062 0.9062 0.9688 +0.9062 0.9062 1 +0.9062 0.9375 0 +0.9062 0.9375 0.03125 +0.9062 0.9375 0.0625 +0.9062 0.9375 0.09375 +0.9062 0.9375 0.125 +0.9062 0.9375 0.1562 +0.9062 0.9375 0.1875 +0.9062 0.9375 0.2188 +0.9062 0.9375 0.25 +0.9062 0.9375 0.2812 +0.9062 0.9375 0.3125 +0.9062 0.9375 0.3438 +0.9062 0.9375 0.375 +0.9062 0.9375 0.4062 +0.9062 0.9375 0.4375 +0.9062 0.9375 0.4688 +0.9062 0.9375 0.5 +0.9062 0.9375 0.5312 +0.9062 0.9375 0.5625 +0.9062 0.9375 0.5938 +0.9062 0.9375 0.625 +0.9062 0.9375 0.6562 +0.9062 0.9375 0.6875 +0.9062 0.9375 0.7188 +0.9062 0.9375 0.75 +0.9062 0.9375 0.7812 +0.9062 0.9375 0.8125 +0.9062 0.9375 0.8438 +0.9062 0.9375 0.875 +0.9062 0.9375 0.9062 +0.9062 0.9375 0.9375 +0.9062 0.9375 0.9688 +0.9062 0.9375 1 +0.9062 0.9688 0 +0.9062 0.9688 0.03125 +0.9062 0.9688 0.0625 +0.9062 0.9688 0.09375 +0.9062 0.9688 0.125 +0.9062 0.9688 0.1562 +0.9062 0.9688 0.1875 +0.9062 0.9688 0.2188 +0.9062 0.9688 0.25 +0.9062 0.9688 0.2812 +0.9062 0.9688 0.3125 +0.9062 0.9688 0.3438 +0.9062 0.9688 0.375 +0.9062 0.9688 0.4062 +0.9062 0.9688 0.4375 +0.9062 0.9688 0.4688 +0.9062 0.9688 0.5 +0.9062 0.9688 0.5312 +0.9062 0.9688 0.5625 +0.9062 0.9688 0.5938 +0.9062 0.9688 0.625 +0.9062 0.9688 0.6562 +0.9062 0.9688 0.6875 +0.9062 0.9688 0.7188 +0.9062 0.9688 0.75 +0.9062 0.9688 0.7812 +0.9062 0.9688 0.8125 +0.9062 0.9688 0.8438 +0.9062 0.9688 0.875 +0.9062 0.9688 0.9062 +0.9062 0.9688 0.9375 +0.9062 0.9688 0.9688 +0.9062 0.9688 1 +0.9062 1 0 +0.9062 1 0.03125 +0.9062 1 0.0625 +0.9062 1 0.09375 +0.9062 1 0.125 +0.9062 1 0.1562 +0.9062 1 0.1875 +0.9062 1 0.2188 +0.9062 1 0.25 +0.9062 1 0.2812 +0.9062 1 0.3125 +0.9062 1 0.3438 +0.9062 1 0.375 +0.9062 1 0.4062 +0.9062 1 0.4375 +0.9062 1 0.4688 +0.9062 1 0.5 +0.9062 1 0.5312 +0.9062 1 0.5625 +0.9062 1 0.5938 +0.9062 1 0.625 +0.9062 1 0.6562 +0.9062 1 0.6875 +0.9062 1 0.7188 +0.9062 1 0.75 +0.9062 1 0.7812 +0.9062 1 0.8125 +0.9062 1 0.8438 +0.9062 1 0.875 +0.9062 1 0.9062 +0.9062 1 0.9375 +0.9062 1 0.9688 +0.9062 1 1 +0.9375 0 0 +0.9375 0 0.03125 +0.9375 0 0.0625 +0.9375 0 0.09375 +0.9375 0 0.125 +0.9375 0 0.1562 +0.9375 0 0.1875 +0.9375 0 0.2188 +0.9375 0 0.25 +0.9375 0 0.2812 +0.9375 0 0.3125 +0.9375 0 0.3438 +0.9375 0 0.375 +0.9375 0 0.4062 +0.9375 0 0.4375 +0.9375 0 0.4688 +0.9375 0 0.5 +0.9375 0 0.5312 +0.9375 0 0.5625 +0.9375 0 0.5938 +0.9375 0 0.625 +0.9375 0 0.6562 +0.9375 0 0.6875 +0.9375 0 0.7188 +0.9375 0 0.75 +0.9375 0 0.7812 +0.9375 0 0.8125 +0.9375 0 0.8438 +0.9375 0 0.875 +0.9375 0 0.9062 +0.9375 0 0.9375 +0.9375 0 0.9688 +0.9375 0 1 +0.9375 0.03125 0 +0.9375 0.03125 0.03125 +0.9375 0.03125 0.0625 +0.9375 0.03125 0.09375 +0.9375 0.03125 0.125 +0.9375 0.03125 0.1562 +0.9375 0.03125 0.1875 +0.9375 0.03125 0.2188 +0.9375 0.03125 0.25 +0.9375 0.03125 0.2812 +0.9375 0.03125 0.3125 +0.9375 0.03125 0.3438 +0.9375 0.03125 0.375 +0.9375 0.03125 0.4062 +0.9375 0.03125 0.4375 +0.9375 0.03125 0.4688 +0.9375 0.03125 0.5 +0.9375 0.03125 0.5312 +0.9375 0.03125 0.5625 +0.9375 0.03125 0.5938 +0.9375 0.03125 0.625 +0.9375 0.03125 0.6562 +0.9375 0.03125 0.6875 +0.9375 0.03125 0.7188 +0.9375 0.03125 0.75 +0.9375 0.03125 0.7812 +0.9375 0.03125 0.8125 +0.9375 0.03125 0.8438 +0.9375 0.03125 0.875 +0.9375 0.03125 0.9062 +0.9375 0.03125 0.9375 +0.9375 0.03125 0.9688 +0.9375 0.03125 1 +0.9375 0.0625 0 +0.9375 0.0625 0.03125 +0.9375 0.0625 0.0625 +0.9375 0.0625 0.09375 +0.9375 0.0625 0.125 +0.9375 0.0625 0.1562 +0.9375 0.0625 0.1875 +0.9375 0.0625 0.2188 +0.9375 0.0625 0.25 +0.9375 0.0625 0.2812 +0.9375 0.0625 0.3125 +0.9375 0.0625 0.3438 +0.9375 0.0625 0.375 +0.9375 0.0625 0.4062 +0.9375 0.0625 0.4375 +0.9375 0.0625 0.4688 +0.9375 0.0625 0.5 +0.9375 0.0625 0.5312 +0.9375 0.0625 0.5625 +0.9375 0.0625 0.5938 +0.9375 0.0625 0.625 +0.9375 0.0625 0.6562 +0.9375 0.0625 0.6875 +0.9375 0.0625 0.7188 +0.9375 0.0625 0.75 +0.9375 0.0625 0.7812 +0.9375 0.0625 0.8125 +0.9375 0.0625 0.8438 +0.9375 0.0625 0.875 +0.9375 0.0625 0.9062 +0.9375 0.0625 0.9375 +0.9375 0.0625 0.9688 +0.9375 0.0625 1 +0.9375 0.09375 0 +0.9375 0.09375 0.03125 +0.9375 0.09375 0.0625 +0.9375 0.09375 0.09375 +0.9375 0.09375 0.125 +0.9375 0.09375 0.1562 +0.9375 0.09375 0.1875 +0.9375 0.09375 0.2188 +0.9375 0.09375 0.25 +0.9375 0.09375 0.2812 +0.9375 0.09375 0.3125 +0.9375 0.09375 0.3438 +0.9375 0.09375 0.375 +0.9375 0.09375 0.4062 +0.9375 0.09375 0.4375 +0.9375 0.09375 0.4688 +0.9375 0.09375 0.5 +0.9375 0.09375 0.5312 +0.9375 0.09375 0.5625 +0.9375 0.09375 0.5938 +0.9375 0.09375 0.625 +0.9375 0.09375 0.6562 +0.9375 0.09375 0.6875 +0.9375 0.09375 0.7188 +0.9375 0.09375 0.75 +0.9375 0.09375 0.7812 +0.9375 0.09375 0.8125 +0.9375 0.09375 0.8438 +0.9375 0.09375 0.875 +0.9375 0.09375 0.9062 +0.9375 0.09375 0.9375 +0.9375 0.09375 0.9688 +0.9375 0.09375 1 +0.9375 0.125 0 +0.9375 0.125 0.03125 +0.9375 0.125 0.0625 +0.9375 0.125 0.09375 +0.9375 0.125 0.125 +0.9375 0.125 0.1562 +0.9375 0.125 0.1875 +0.9375 0.125 0.2188 +0.9375 0.125 0.25 +0.9375 0.125 0.2812 +0.9375 0.125 0.3125 +0.9375 0.125 0.3438 +0.9375 0.125 0.375 +0.9375 0.125 0.4062 +0.9375 0.125 0.4375 +0.9375 0.125 0.4688 +0.9375 0.125 0.5 +0.9375 0.125 0.5312 +0.9375 0.125 0.5625 +0.9375 0.125 0.5938 +0.9375 0.125 0.625 +0.9375 0.125 0.6562 +0.9375 0.125 0.6875 +0.9375 0.125 0.7188 +0.9375 0.125 0.75 +0.9375 0.125 0.7812 +0.9375 0.125 0.8125 +0.9375 0.125 0.8438 +0.9375 0.125 0.875 +0.9375 0.125 0.9062 +0.9375 0.125 0.9375 +0.9375 0.125 0.9688 +0.9375 0.125 1 +0.9375 0.1562 0 +0.9375 0.1562 0.03125 +0.9375 0.1562 0.0625 +0.9375 0.1562 0.09375 +0.9375 0.1562 0.125 +0.9375 0.1562 0.1562 +0.9375 0.1562 0.1875 +0.9375 0.1562 0.2188 +0.9375 0.1562 0.25 +0.9375 0.1562 0.2812 +0.9375 0.1562 0.3125 +0.9375 0.1562 0.3438 +0.9375 0.1562 0.375 +0.9375 0.1562 0.4062 +0.9375 0.1562 0.4375 +0.9375 0.1562 0.4688 +0.9375 0.1562 0.5 +0.9375 0.1562 0.5312 +0.9375 0.1562 0.5625 +0.9375 0.1562 0.5938 +0.9375 0.1562 0.625 +0.9375 0.1562 0.6562 +0.9375 0.1562 0.6875 +0.9375 0.1562 0.7188 +0.9375 0.1562 0.75 +0.9375 0.1562 0.7812 +0.9375 0.1562 0.8125 +0.9375 0.1562 0.8438 +0.9375 0.1562 0.875 +0.9375 0.1562 0.9062 +0.9375 0.1562 0.9375 +0.9375 0.1562 0.9688 +0.9375 0.1562 1 +0.9375 0.1875 0 +0.9375 0.1875 0.03125 +0.9375 0.1875 0.0625 +0.9375 0.1875 0.09375 +0.9375 0.1875 0.125 +0.9375 0.1875 0.1562 +0.9375 0.1875 0.1875 +0.9375 0.1875 0.2188 +0.9375 0.1875 0.25 +0.9375 0.1875 0.2812 +0.9375 0.1875 0.3125 +0.9375 0.1875 0.3438 +0.9375 0.1875 0.375 +0.9375 0.1875 0.4062 +0.9375 0.1875 0.4375 +0.9375 0.1875 0.4688 +0.9375 0.1875 0.5 +0.9375 0.1875 0.5312 +0.9375 0.1875 0.5625 +0.9375 0.1875 0.5938 +0.9375 0.1875 0.625 +0.9375 0.1875 0.6562 +0.9375 0.1875 0.6875 +0.9375 0.1875 0.7188 +0.9375 0.1875 0.75 +0.9375 0.1875 0.7812 +0.9375 0.1875 0.8125 +0.9375 0.1875 0.8438 +0.9375 0.1875 0.875 +0.9375 0.1875 0.9062 +0.9375 0.1875 0.9375 +0.9375 0.1875 0.9688 +0.9375 0.1875 1 +0.9375 0.2188 0 +0.9375 0.2188 0.03125 +0.9375 0.2188 0.0625 +0.9375 0.2188 0.09375 +0.9375 0.2188 0.125 +0.9375 0.2188 0.1562 +0.9375 0.2188 0.1875 +0.9375 0.2188 0.2188 +0.9375 0.2188 0.25 +0.9375 0.2188 0.2812 +0.9375 0.2188 0.3125 +0.9375 0.2188 0.3438 +0.9375 0.2188 0.375 +0.9375 0.2188 0.4062 +0.9375 0.2188 0.4375 +0.9375 0.2188 0.4688 +0.9375 0.2188 0.5 +0.9375 0.2188 0.5312 +0.9375 0.2188 0.5625 +0.9375 0.2188 0.5938 +0.9375 0.2188 0.625 +0.9375 0.2188 0.6562 +0.9375 0.2188 0.6875 +0.9375 0.2188 0.7188 +0.9375 0.2188 0.75 +0.9375 0.2188 0.7812 +0.9375 0.2188 0.8125 +0.9375 0.2188 0.8438 +0.9375 0.2188 0.875 +0.9375 0.2188 0.9062 +0.9375 0.2188 0.9375 +0.9375 0.2188 0.9688 +0.9375 0.2188 1 +0.9375 0.25 0 +0.9375 0.25 0.03125 +0.9375 0.25 0.0625 +0.9375 0.25 0.09375 +0.9375 0.25 0.125 +0.9375 0.25 0.1562 +0.9375 0.25 0.1875 +0.9375 0.25 0.2188 +0.9375 0.25 0.25 +0.9375 0.25 0.2812 +0.9375 0.25 0.3125 +0.9375 0.25 0.3438 +0.9375 0.25 0.375 +0.9375 0.25 0.4062 +0.9375 0.25 0.4375 +0.9375 0.25 0.4688 +0.9375 0.25 0.5 +0.9375 0.25 0.5312 +0.9375 0.25 0.5625 +0.9375 0.25 0.5938 +0.9375 0.25 0.625 +0.9375 0.25 0.6562 +0.9375 0.25 0.6875 +0.9375 0.25 0.7188 +0.9375 0.25 0.75 +0.9375 0.25 0.7812 +0.9375 0.25 0.8125 +0.9375 0.25 0.8438 +0.9375 0.25 0.875 +0.9375 0.25 0.9062 +0.9375 0.25 0.9375 +0.9375 0.25 0.9688 +0.9375 0.25 1 +0.9375 0.2812 0 +0.9375 0.2812 0.03125 +0.9375 0.2812 0.0625 +0.9375 0.2812 0.09375 +0.9375 0.2812 0.125 +0.9375 0.2812 0.1562 +0.9375 0.2812 0.1875 +0.9375 0.2812 0.2188 +0.9375 0.2812 0.25 +0.9375 0.2812 0.2812 +0.9375 0.2812 0.3125 +0.9375 0.2812 0.3438 +0.9375 0.2812 0.375 +0.9375 0.2812 0.4062 +0.9375 0.2812 0.4375 +0.9375 0.2812 0.4688 +0.9375 0.2812 0.5 +0.9375 0.2812 0.5312 +0.9375 0.2812 0.5625 +0.9375 0.2812 0.5938 +0.9375 0.2812 0.625 +0.9375 0.2812 0.6562 +0.9375 0.2812 0.6875 +0.9375 0.2812 0.7188 +0.9375 0.2812 0.75 +0.9375 0.2812 0.7812 +0.9375 0.2812 0.8125 +0.9375 0.2812 0.8438 +0.9375 0.2812 0.875 +0.9375 0.2812 0.9062 +0.9375 0.2812 0.9375 +0.9375 0.2812 0.9688 +0.9375 0.2812 1 +0.9375 0.3125 0 +0.9375 0.3125 0.03125 +0.9375 0.3125 0.0625 +0.9375 0.3125 0.09375 +0.9375 0.3125 0.125 +0.9375 0.3125 0.1562 +0.9375 0.3125 0.1875 +0.9375 0.3125 0.2188 +0.9375 0.3125 0.25 +0.9375 0.3125 0.2812 +0.9375 0.3125 0.3125 +0.9375 0.3125 0.3438 +0.9375 0.3125 0.375 +0.9375 0.3125 0.4062 +0.9375 0.3125 0.4375 +0.9375 0.3125 0.4688 +0.9375 0.3125 0.5 +0.9375 0.3125 0.5312 +0.9375 0.3125 0.5625 +0.9375 0.3125 0.5938 +0.9375 0.3125 0.625 +0.9375 0.3125 0.6562 +0.9375 0.3125 0.6875 +0.9375 0.3125 0.7188 +0.9375 0.3125 0.75 +0.9375 0.3125 0.7812 +0.9375 0.3125 0.8125 +0.9375 0.3125 0.8438 +0.9375 0.3125 0.875 +0.9375 0.3125 0.9062 +0.9375 0.3125 0.9375 +0.9375 0.3125 0.9688 +0.9375 0.3125 1 +0.9375 0.3438 0 +0.9375 0.3438 0.03125 +0.9375 0.3438 0.0625 +0.9375 0.3438 0.09375 +0.9375 0.3438 0.125 +0.9375 0.3438 0.1562 +0.9375 0.3438 0.1875 +0.9375 0.3438 0.2188 +0.9375 0.3438 0.25 +0.9375 0.3438 0.2812 +0.9375 0.3438 0.3125 +0.9375 0.3438 0.3438 +0.9375 0.3438 0.375 +0.9375 0.3438 0.4062 +0.9375 0.3438 0.4375 +0.9375 0.3438 0.4688 +0.9375 0.3438 0.5 +0.9375 0.3438 0.5312 +0.9375 0.3438 0.5625 +0.9375 0.3438 0.5938 +0.9375 0.3438 0.625 +0.9375 0.3438 0.6562 +0.9375 0.3438 0.6875 +0.9375 0.3438 0.7188 +0.9375 0.3438 0.75 +0.9375 0.3438 0.7812 +0.9375 0.3438 0.8125 +0.9375 0.3438 0.8438 +0.9375 0.3438 0.875 +0.9375 0.3438 0.9062 +0.9375 0.3438 0.9375 +0.9375 0.3438 0.9688 +0.9375 0.3438 1 +0.9375 0.375 0 +0.9375 0.375 0.03125 +0.9375 0.375 0.0625 +0.9375 0.375 0.09375 +0.9375 0.375 0.125 +0.9375 0.375 0.1562 +0.9375 0.375 0.1875 +0.9375 0.375 0.2188 +0.9375 0.375 0.25 +0.9375 0.375 0.2812 +0.9375 0.375 0.3125 +0.9375 0.375 0.3438 +0.9375 0.375 0.375 +0.9375 0.375 0.4062 +0.9375 0.375 0.4375 +0.9375 0.375 0.4688 +0.9375 0.375 0.5 +0.9375 0.375 0.5312 +0.9375 0.375 0.5625 +0.9375 0.375 0.5938 +0.9375 0.375 0.625 +0.9375 0.375 0.6562 +0.9375 0.375 0.6875 +0.9375 0.375 0.7188 +0.9375 0.375 0.75 +0.9375 0.375 0.7812 +0.9375 0.375 0.8125 +0.9375 0.375 0.8438 +0.9375 0.375 0.875 +0.9375 0.375 0.9062 +0.9375 0.375 0.9375 +0.9375 0.375 0.9688 +0.9375 0.375 1 +0.9375 0.4062 0 +0.9375 0.4062 0.03125 +0.9375 0.4062 0.0625 +0.9375 0.4062 0.09375 +0.9375 0.4062 0.125 +0.9375 0.4062 0.1562 +0.9375 0.4062 0.1875 +0.9375 0.4062 0.2188 +0.9375 0.4062 0.25 +0.9375 0.4062 0.2812 +0.9375 0.4062 0.3125 +0.9375 0.4062 0.3438 +0.9375 0.4062 0.375 +0.9375 0.4062 0.4062 +0.9375 0.4062 0.4375 +0.9375 0.4062 0.4688 +0.9375 0.4062 0.5 +0.9375 0.4062 0.5312 +0.9375 0.4062 0.5625 +0.9375 0.4062 0.5938 +0.9375 0.4062 0.625 +0.9375 0.4062 0.6562 +0.9375 0.4062 0.6875 +0.9375 0.4062 0.7188 +0.9375 0.4062 0.75 +0.9375 0.4062 0.7812 +0.9375 0.4062 0.8125 +0.9375 0.4062 0.8438 +0.9375 0.4062 0.875 +0.9375 0.4062 0.9062 +0.9375 0.4062 0.9375 +0.9375 0.4062 0.9688 +0.9375 0.4062 1 +0.9375 0.4375 0 +0.9375 0.4375 0.03125 +0.9375 0.4375 0.0625 +0.9375 0.4375 0.09375 +0.9375 0.4375 0.125 +0.9375 0.4375 0.1562 +0.9375 0.4375 0.1875 +0.9375 0.4375 0.2188 +0.9375 0.4375 0.25 +0.9375 0.4375 0.2812 +0.9375 0.4375 0.3125 +0.9375 0.4375 0.3438 +0.9375 0.4375 0.375 +0.9375 0.4375 0.4062 +0.9375 0.4375 0.4375 +0.9375 0.4375 0.4688 +0.9375 0.4375 0.5 +0.9375 0.4375 0.5312 +0.9375 0.4375 0.5625 +0.9375 0.4375 0.5938 +0.9375 0.4375 0.625 +0.9375 0.4375 0.6562 +0.9375 0.4375 0.6875 +0.9375 0.4375 0.7188 +0.9375 0.4375 0.75 +0.9375 0.4375 0.7812 +0.9375 0.4375 0.8125 +0.9375 0.4375 0.8438 +0.9375 0.4375 0.875 +0.9375 0.4375 0.9062 +0.9375 0.4375 0.9375 +0.9375 0.4375 0.9688 +0.9375 0.4375 1 +0.9375 0.4688 0 +0.9375 0.4688 0.03125 +0.9375 0.4688 0.0625 +0.9375 0.4688 0.09375 +0.9375 0.4688 0.125 +0.9375 0.4688 0.1562 +0.9375 0.4688 0.1875 +0.9375 0.4688 0.2188 +0.9375 0.4688 0.25 +0.9375 0.4688 0.2812 +0.9375 0.4688 0.3125 +0.9375 0.4688 0.3438 +0.9375 0.4688 0.375 +0.9375 0.4688 0.4062 +0.9375 0.4688 0.4375 +0.9375 0.4688 0.4688 +0.9375 0.4688 0.5 +0.9375 0.4688 0.5312 +0.9375 0.4688 0.5625 +0.9375 0.4688 0.5938 +0.9375 0.4688 0.625 +0.9375 0.4688 0.6562 +0.9375 0.4688 0.6875 +0.9375 0.4688 0.7188 +0.9375 0.4688 0.75 +0.9375 0.4688 0.7812 +0.9375 0.4688 0.8125 +0.9375 0.4688 0.8438 +0.9375 0.4688 0.875 +0.9375 0.4688 0.9062 +0.9375 0.4688 0.9375 +0.9375 0.4688 0.9688 +0.9375 0.4688 1 +0.9375 0.5 0 +0.9375 0.5 0.03125 +0.9375 0.5 0.0625 +0.9375 0.5 0.09375 +0.9375 0.5 0.125 +0.9375 0.5 0.1562 +0.9375 0.5 0.1875 +0.9375 0.5 0.2188 +0.9375 0.5 0.25 +0.9375 0.5 0.2812 +0.9375 0.5 0.3125 +0.9375 0.5 0.3438 +0.9375 0.5 0.375 +0.9375 0.5 0.4062 +0.9375 0.5 0.4375 +0.9375 0.5 0.4688 +0.9375 0.5 0.5 +0.9375 0.5 0.5312 +0.9375 0.5 0.5625 +0.9375 0.5 0.5938 +0.9375 0.5 0.625 +0.9375 0.5 0.6562 +0.9375 0.5 0.6875 +0.9375 0.5 0.7188 +0.9375 0.5 0.75 +0.9375 0.5 0.7812 +0.9375 0.5 0.8125 +0.9375 0.5 0.8438 +0.9375 0.5 0.875 +0.9375 0.5 0.9062 +0.9375 0.5 0.9375 +0.9375 0.5 0.9688 +0.9375 0.5 1 +0.9375 0.5312 0 +0.9375 0.5312 0.03125 +0.9375 0.5312 0.0625 +0.9375 0.5312 0.09375 +0.9375 0.5312 0.125 +0.9375 0.5312 0.1562 +0.9375 0.5312 0.1875 +0.9375 0.5312 0.2188 +0.9375 0.5312 0.25 +0.9375 0.5312 0.2812 +0.9375 0.5312 0.3125 +0.9375 0.5312 0.3438 +0.9375 0.5312 0.375 +0.9375 0.5312 0.4062 +0.9375 0.5312 0.4375 +0.9375 0.5312 0.4688 +0.9375 0.5312 0.5 +0.9375 0.5312 0.5312 +0.9375 0.5312 0.5625 +0.9375 0.5312 0.5938 +0.9375 0.5312 0.625 +0.9375 0.5312 0.6562 +0.9375 0.5312 0.6875 +0.9375 0.5312 0.7188 +0.9375 0.5312 0.75 +0.9375 0.5312 0.7812 +0.9375 0.5312 0.8125 +0.9375 0.5312 0.8438 +0.9375 0.5312 0.875 +0.9375 0.5312 0.9062 +0.9375 0.5312 0.9375 +0.9375 0.5312 0.9688 +0.9375 0.5312 1 +0.9375 0.5625 0 +0.9375 0.5625 0.03125 +0.9375 0.5625 0.0625 +0.9375 0.5625 0.09375 +0.9375 0.5625 0.125 +0.9375 0.5625 0.1562 +0.9375 0.5625 0.1875 +0.9375 0.5625 0.2188 +0.9375 0.5625 0.25 +0.9375 0.5625 0.2812 +0.9375 0.5625 0.3125 +0.9375 0.5625 0.3438 +0.9375 0.5625 0.375 +0.9375 0.5625 0.4062 +0.9375 0.5625 0.4375 +0.9375 0.5625 0.4688 +0.9375 0.5625 0.5 +0.9375 0.5625 0.5312 +0.9375 0.5625 0.5625 +0.9375 0.5625 0.5938 +0.9375 0.5625 0.625 +0.9375 0.5625 0.6562 +0.9375 0.5625 0.6875 +0.9375 0.5625 0.7188 +0.9375 0.5625 0.75 +0.9375 0.5625 0.7812 +0.9375 0.5625 0.8125 +0.9375 0.5625 0.8438 +0.9375 0.5625 0.875 +0.9375 0.5625 0.9062 +0.9375 0.5625 0.9375 +0.9375 0.5625 0.9688 +0.9375 0.5625 1 +0.9375 0.5938 0 +0.9375 0.5938 0.03125 +0.9375 0.5938 0.0625 +0.9375 0.5938 0.09375 +0.9375 0.5938 0.125 +0.9375 0.5938 0.1562 +0.9375 0.5938 0.1875 +0.9375 0.5938 0.2188 +0.9375 0.5938 0.25 +0.9375 0.5938 0.2812 +0.9375 0.5938 0.3125 +0.9375 0.5938 0.3438 +0.9375 0.5938 0.375 +0.9375 0.5938 0.4062 +0.9375 0.5938 0.4375 +0.9375 0.5938 0.4688 +0.9375 0.5938 0.5 +0.9375 0.5938 0.5312 +0.9375 0.5938 0.5625 +0.9375 0.5938 0.5938 +0.9375 0.5938 0.625 +0.9375 0.5938 0.6562 +0.9375 0.5938 0.6875 +0.9375 0.5938 0.7188 +0.9375 0.5938 0.75 +0.9375 0.5938 0.7812 +0.9375 0.5938 0.8125 +0.9375 0.5938 0.8438 +0.9375 0.5938 0.875 +0.9375 0.5938 0.9062 +0.9375 0.5938 0.9375 +0.9375 0.5938 0.9688 +0.9375 0.5938 1 +0.9375 0.625 0 +0.9375 0.625 0.03125 +0.9375 0.625 0.0625 +0.9375 0.625 0.09375 +0.9375 0.625 0.125 +0.9375 0.625 0.1562 +0.9375 0.625 0.1875 +0.9375 0.625 0.2188 +0.9375 0.625 0.25 +0.9375 0.625 0.2812 +0.9375 0.625 0.3125 +0.9375 0.625 0.3438 +0.9375 0.625 0.375 +0.9375 0.625 0.4062 +0.9375 0.625 0.4375 +0.9375 0.625 0.4688 +0.9375 0.625 0.5 +0.9375 0.625 0.5312 +0.9375 0.625 0.5625 +0.9375 0.625 0.5938 +0.9375 0.625 0.625 +0.9375 0.625 0.6562 +0.9375 0.625 0.6875 +0.9375 0.625 0.7188 +0.9375 0.625 0.75 +0.9375 0.625 0.7812 +0.9375 0.625 0.8125 +0.9375 0.625 0.8438 +0.9375 0.625 0.875 +0.9375 0.625 0.9062 +0.9375 0.625 0.9375 +0.9375 0.625 0.9688 +0.9375 0.625 1 +0.9375 0.6562 0 +0.9375 0.6562 0.03125 +0.9375 0.6562 0.0625 +0.9375 0.6562 0.09375 +0.9375 0.6562 0.125 +0.9375 0.6562 0.1562 +0.9375 0.6562 0.1875 +0.9375 0.6562 0.2188 +0.9375 0.6562 0.25 +0.9375 0.6562 0.2812 +0.9375 0.6562 0.3125 +0.9375 0.6562 0.3438 +0.9375 0.6562 0.375 +0.9375 0.6562 0.4062 +0.9375 0.6562 0.4375 +0.9375 0.6562 0.4688 +0.9375 0.6562 0.5 +0.9375 0.6562 0.5312 +0.9375 0.6562 0.5625 +0.9375 0.6562 0.5938 +0.9375 0.6562 0.625 +0.9375 0.6562 0.6562 +0.9375 0.6562 0.6875 +0.9375 0.6562 0.7188 +0.9375 0.6562 0.75 +0.9375 0.6562 0.7812 +0.9375 0.6562 0.8125 +0.9375 0.6562 0.8438 +0.9375 0.6562 0.875 +0.9375 0.6562 0.9062 +0.9375 0.6562 0.9375 +0.9375 0.6562 0.9688 +0.9375 0.6562 1 +0.9375 0.6875 0 +0.9375 0.6875 0.03125 +0.9375 0.6875 0.0625 +0.9375 0.6875 0.09375 +0.9375 0.6875 0.125 +0.9375 0.6875 0.1562 +0.9375 0.6875 0.1875 +0.9375 0.6875 0.2188 +0.9375 0.6875 0.25 +0.9375 0.6875 0.2812 +0.9375 0.6875 0.3125 +0.9375 0.6875 0.3438 +0.9375 0.6875 0.375 +0.9375 0.6875 0.4062 +0.9375 0.6875 0.4375 +0.9375 0.6875 0.4688 +0.9375 0.6875 0.5 +0.9375 0.6875 0.5312 +0.9375 0.6875 0.5625 +0.9375 0.6875 0.5938 +0.9375 0.6875 0.625 +0.9375 0.6875 0.6562 +0.9375 0.6875 0.6875 +0.9375 0.6875 0.7188 +0.9375 0.6875 0.75 +0.9375 0.6875 0.7812 +0.9375 0.6875 0.8125 +0.9375 0.6875 0.8438 +0.9375 0.6875 0.875 +0.9375 0.6875 0.9062 +0.9375 0.6875 0.9375 +0.9375 0.6875 0.9688 +0.9375 0.6875 1 +0.9375 0.7188 0 +0.9375 0.7188 0.03125 +0.9375 0.7188 0.0625 +0.9375 0.7188 0.09375 +0.9375 0.7188 0.125 +0.9375 0.7188 0.1562 +0.9375 0.7188 0.1875 +0.9375 0.7188 0.2188 +0.9375 0.7188 0.25 +0.9375 0.7188 0.2812 +0.9375 0.7188 0.3125 +0.9375 0.7188 0.3438 +0.9375 0.7188 0.375 +0.9375 0.7188 0.4062 +0.9375 0.7188 0.4375 +0.9375 0.7188 0.4688 +0.9375 0.7188 0.5 +0.9375 0.7188 0.5312 +0.9375 0.7188 0.5625 +0.9375 0.7188 0.5938 +0.9375 0.7188 0.625 +0.9375 0.7188 0.6562 +0.9375 0.7188 0.6875 +0.9375 0.7188 0.7188 +0.9375 0.7188 0.75 +0.9375 0.7188 0.7812 +0.9375 0.7188 0.8125 +0.9375 0.7188 0.8438 +0.9375 0.7188 0.875 +0.9375 0.7188 0.9062 +0.9375 0.7188 0.9375 +0.9375 0.7188 0.9688 +0.9375 0.7188 1 +0.9375 0.75 0 +0.9375 0.75 0.03125 +0.9375 0.75 0.0625 +0.9375 0.75 0.09375 +0.9375 0.75 0.125 +0.9375 0.75 0.1562 +0.9375 0.75 0.1875 +0.9375 0.75 0.2188 +0.9375 0.75 0.25 +0.9375 0.75 0.2812 +0.9375 0.75 0.3125 +0.9375 0.75 0.3438 +0.9375 0.75 0.375 +0.9375 0.75 0.4062 +0.9375 0.75 0.4375 +0.9375 0.75 0.4688 +0.9375 0.75 0.5 +0.9375 0.75 0.5312 +0.9375 0.75 0.5625 +0.9375 0.75 0.5938 +0.9375 0.75 0.625 +0.9375 0.75 0.6562 +0.9375 0.75 0.6875 +0.9375 0.75 0.7188 +0.9375 0.75 0.75 +0.9375 0.75 0.7812 +0.9375 0.75 0.8125 +0.9375 0.75 0.8438 +0.9375 0.75 0.875 +0.9375 0.75 0.9062 +0.9375 0.75 0.9375 +0.9375 0.75 0.9688 +0.9375 0.75 1 +0.9375 0.7812 0 +0.9375 0.7812 0.03125 +0.9375 0.7812 0.0625 +0.9375 0.7812 0.09375 +0.9375 0.7812 0.125 +0.9375 0.7812 0.1562 +0.9375 0.7812 0.1875 +0.9375 0.7812 0.2188 +0.9375 0.7812 0.25 +0.9375 0.7812 0.2812 +0.9375 0.7812 0.3125 +0.9375 0.7812 0.3438 +0.9375 0.7812 0.375 +0.9375 0.7812 0.4062 +0.9375 0.7812 0.4375 +0.9375 0.7812 0.4688 +0.9375 0.7812 0.5 +0.9375 0.7812 0.5312 +0.9375 0.7812 0.5625 +0.9375 0.7812 0.5938 +0.9375 0.7812 0.625 +0.9375 0.7812 0.6562 +0.9375 0.7812 0.6875 +0.9375 0.7812 0.7188 +0.9375 0.7812 0.75 +0.9375 0.7812 0.7812 +0.9375 0.7812 0.8125 +0.9375 0.7812 0.8438 +0.9375 0.7812 0.875 +0.9375 0.7812 0.9062 +0.9375 0.7812 0.9375 +0.9375 0.7812 0.9688 +0.9375 0.7812 1 +0.9375 0.8125 0 +0.9375 0.8125 0.03125 +0.9375 0.8125 0.0625 +0.9375 0.8125 0.09375 +0.9375 0.8125 0.125 +0.9375 0.8125 0.1562 +0.9375 0.8125 0.1875 +0.9375 0.8125 0.2188 +0.9375 0.8125 0.25 +0.9375 0.8125 0.2812 +0.9375 0.8125 0.3125 +0.9375 0.8125 0.3438 +0.9375 0.8125 0.375 +0.9375 0.8125 0.4062 +0.9375 0.8125 0.4375 +0.9375 0.8125 0.4688 +0.9375 0.8125 0.5 +0.9375 0.8125 0.5312 +0.9375 0.8125 0.5625 +0.9375 0.8125 0.5938 +0.9375 0.8125 0.625 +0.9375 0.8125 0.6562 +0.9375 0.8125 0.6875 +0.9375 0.8125 0.7188 +0.9375 0.8125 0.75 +0.9375 0.8125 0.7812 +0.9375 0.8125 0.8125 +0.9375 0.8125 0.8438 +0.9375 0.8125 0.875 +0.9375 0.8125 0.9062 +0.9375 0.8125 0.9375 +0.9375 0.8125 0.9688 +0.9375 0.8125 1 +0.9375 0.8438 0 +0.9375 0.8438 0.03125 +0.9375 0.8438 0.0625 +0.9375 0.8438 0.09375 +0.9375 0.8438 0.125 +0.9375 0.8438 0.1562 +0.9375 0.8438 0.1875 +0.9375 0.8438 0.2188 +0.9375 0.8438 0.25 +0.9375 0.8438 0.2812 +0.9375 0.8438 0.3125 +0.9375 0.8438 0.3438 +0.9375 0.8438 0.375 +0.9375 0.8438 0.4062 +0.9375 0.8438 0.4375 +0.9375 0.8438 0.4688 +0.9375 0.8438 0.5 +0.9375 0.8438 0.5312 +0.9375 0.8438 0.5625 +0.9375 0.8438 0.5938 +0.9375 0.8438 0.625 +0.9375 0.8438 0.6562 +0.9375 0.8438 0.6875 +0.9375 0.8438 0.7188 +0.9375 0.8438 0.75 +0.9375 0.8438 0.7812 +0.9375 0.8438 0.8125 +0.9375 0.8438 0.8438 +0.9375 0.8438 0.875 +0.9375 0.8438 0.9062 +0.9375 0.8438 0.9375 +0.9375 0.8438 0.9688 +0.9375 0.8438 1 +0.9375 0.875 0 +0.9375 0.875 0.03125 +0.9375 0.875 0.0625 +0.9375 0.875 0.09375 +0.9375 0.875 0.125 +0.9375 0.875 0.1562 +0.9375 0.875 0.1875 +0.9375 0.875 0.2188 +0.9375 0.875 0.25 +0.9375 0.875 0.2812 +0.9375 0.875 0.3125 +0.9375 0.875 0.3438 +0.9375 0.875 0.375 +0.9375 0.875 0.4062 +0.9375 0.875 0.4375 +0.9375 0.875 0.4688 +0.9375 0.875 0.5 +0.9375 0.875 0.5312 +0.9375 0.875 0.5625 +0.9375 0.875 0.5938 +0.9375 0.875 0.625 +0.9375 0.875 0.6562 +0.9375 0.875 0.6875 +0.9375 0.875 0.7188 +0.9375 0.875 0.75 +0.9375 0.875 0.7812 +0.9375 0.875 0.8125 +0.9375 0.875 0.8438 +0.9375 0.875 0.875 +0.9375 0.875 0.9062 +0.9375 0.875 0.9375 +0.9375 0.875 0.9688 +0.9375 0.875 1 +0.9375 0.9062 0 +0.9375 0.9062 0.03125 +0.9375 0.9062 0.0625 +0.9375 0.9062 0.09375 +0.9375 0.9062 0.125 +0.9375 0.9062 0.1562 +0.9375 0.9062 0.1875 +0.9375 0.9062 0.2188 +0.9375 0.9062 0.25 +0.9375 0.9062 0.2812 +0.9375 0.9062 0.3125 +0.9375 0.9062 0.3438 +0.9375 0.9062 0.375 +0.9375 0.9062 0.4062 +0.9375 0.9062 0.4375 +0.9375 0.9062 0.4688 +0.9375 0.9062 0.5 +0.9375 0.9062 0.5312 +0.9375 0.9062 0.5625 +0.9375 0.9062 0.5938 +0.9375 0.9062 0.625 +0.9375 0.9062 0.6562 +0.9375 0.9062 0.6875 +0.9375 0.9062 0.7188 +0.9375 0.9062 0.75 +0.9375 0.9062 0.7812 +0.9375 0.9062 0.8125 +0.9375 0.9062 0.8438 +0.9375 0.9062 0.875 +0.9375 0.9062 0.9062 +0.9375 0.9062 0.9375 +0.9375 0.9062 0.9688 +0.9375 0.9062 1 +0.9375 0.9375 0 +0.9375 0.9375 0.03125 +0.9375 0.9375 0.0625 +0.9375 0.9375 0.09375 +0.9375 0.9375 0.125 +0.9375 0.9375 0.1562 +0.9375 0.9375 0.1875 +0.9375 0.9375 0.2188 +0.9375 0.9375 0.25 +0.9375 0.9375 0.2812 +0.9375 0.9375 0.3125 +0.9375 0.9375 0.3438 +0.9375 0.9375 0.375 +0.9375 0.9375 0.4062 +0.9375 0.9375 0.4375 +0.9375 0.9375 0.4688 +0.9375 0.9375 0.5 +0.9375 0.9375 0.5312 +0.9375 0.9375 0.5625 +0.9375 0.9375 0.5938 +0.9375 0.9375 0.625 +0.9375 0.9375 0.6562 +0.9375 0.9375 0.6875 +0.9375 0.9375 0.7188 +0.9375 0.9375 0.75 +0.9375 0.9375 0.7812 +0.9375 0.9375 0.8125 +0.9375 0.9375 0.8438 +0.9375 0.9375 0.875 +0.9375 0.9375 0.9062 +0.9375 0.9375 0.9375 +0.9375 0.9375 0.9688 +0.9375 0.9375 1 +0.9375 0.9688 0 +0.9375 0.9688 0.03125 +0.9375 0.9688 0.0625 +0.9375 0.9688 0.09375 +0.9375 0.9688 0.125 +0.9375 0.9688 0.1562 +0.9375 0.9688 0.1875 +0.9375 0.9688 0.2188 +0.9375 0.9688 0.25 +0.9375 0.9688 0.2812 +0.9375 0.9688 0.3125 +0.9375 0.9688 0.3438 +0.9375 0.9688 0.375 +0.9375 0.9688 0.4062 +0.9375 0.9688 0.4375 +0.9375 0.9688 0.4688 +0.9375 0.9688 0.5 +0.9375 0.9688 0.5312 +0.9375 0.9688 0.5625 +0.9375 0.9688 0.5938 +0.9375 0.9688 0.625 +0.9375 0.9688 0.6562 +0.9375 0.9688 0.6875 +0.9375 0.9688 0.7188 +0.9375 0.9688 0.75 +0.9375 0.9688 0.7812 +0.9375 0.9688 0.8125 +0.9375 0.9688 0.8438 +0.9375 0.9688 0.875 +0.9375 0.9688 0.9062 +0.9375 0.9688 0.9375 +0.9375 0.9688 0.9688 +0.9375 0.9688 1 +0.9375 1 0 +0.9375 1 0.03125 +0.9375 1 0.0625 +0.9375 1 0.09375 +0.9375 1 0.125 +0.9375 1 0.1562 +0.9375 1 0.1875 +0.9375 1 0.2188 +0.9375 1 0.25 +0.9375 1 0.2812 +0.9375 1 0.3125 +0.9375 1 0.3438 +0.9375 1 0.375 +0.9375 1 0.4062 +0.9375 1 0.4375 +0.9375 1 0.4688 +0.9375 1 0.5 +0.9375 1 0.5312 +0.9375 1 0.5625 +0.9375 1 0.5938 +0.9375 1 0.625 +0.9375 1 0.6562 +0.9375 1 0.6875 +0.9375 1 0.7188 +0.9375 1 0.75 +0.9375 1 0.7812 +0.9375 1 0.8125 +0.9375 1 0.8438 +0.9375 1 0.875 +0.9375 1 0.9062 +0.9375 1 0.9375 +0.9375 1 0.9688 +0.9375 1 1 +0.9688 0 0 +0.9688 0 0.03125 +0.9688 0 0.0625 +0.9688 0 0.09375 +0.9688 0 0.125 +0.9688 0 0.1562 +0.9688 0 0.1875 +0.9688 0 0.2188 +0.9688 0 0.25 +0.9688 0 0.2812 +0.9688 0 0.3125 +0.9688 0 0.3438 +0.9688 0 0.375 +0.9688 0 0.4062 +0.9688 0 0.4375 +0.9688 0 0.4688 +0.9688 0 0.5 +0.9688 0 0.5312 +0.9688 0 0.5625 +0.9688 0 0.5938 +0.9688 0 0.625 +0.9688 0 0.6562 +0.9688 0 0.6875 +0.9688 0 0.7188 +0.9688 0 0.75 +0.9688 0 0.7812 +0.9688 0 0.8125 +0.9688 0 0.8438 +0.9688 0 0.875 +0.9688 0 0.9062 +0.9688 0 0.9375 +0.9688 0 0.9688 +0.9688 0 1 +0.9688 0.03125 0 +0.9688 0.03125 0.03125 +0.9688 0.03125 0.0625 +0.9688 0.03125 0.09375 +0.9688 0.03125 0.125 +0.9688 0.03125 0.1562 +0.9688 0.03125 0.1875 +0.9688 0.03125 0.2188 +0.9688 0.03125 0.25 +0.9688 0.03125 0.2812 +0.9688 0.03125 0.3125 +0.9688 0.03125 0.3438 +0.9688 0.03125 0.375 +0.9688 0.03125 0.4062 +0.9688 0.03125 0.4375 +0.9688 0.03125 0.4688 +0.9688 0.03125 0.5 +0.9688 0.03125 0.5312 +0.9688 0.03125 0.5625 +0.9688 0.03125 0.5938 +0.9688 0.03125 0.625 +0.9688 0.03125 0.6562 +0.9688 0.03125 0.6875 +0.9688 0.03125 0.7188 +0.9688 0.03125 0.75 +0.9688 0.03125 0.7812 +0.9688 0.03125 0.8125 +0.9688 0.03125 0.8438 +0.9688 0.03125 0.875 +0.9688 0.03125 0.9062 +0.9688 0.03125 0.9375 +0.9688 0.03125 0.9688 +0.9688 0.03125 1 +0.9688 0.0625 0 +0.9688 0.0625 0.03125 +0.9688 0.0625 0.0625 +0.9688 0.0625 0.09375 +0.9688 0.0625 0.125 +0.9688 0.0625 0.1562 +0.9688 0.0625 0.1875 +0.9688 0.0625 0.2188 +0.9688 0.0625 0.25 +0.9688 0.0625 0.2812 +0.9688 0.0625 0.3125 +0.9688 0.0625 0.3438 +0.9688 0.0625 0.375 +0.9688 0.0625 0.4062 +0.9688 0.0625 0.4375 +0.9688 0.0625 0.4688 +0.9688 0.0625 0.5 +0.9688 0.0625 0.5312 +0.9688 0.0625 0.5625 +0.9688 0.0625 0.5938 +0.9688 0.0625 0.625 +0.9688 0.0625 0.6562 +0.9688 0.0625 0.6875 +0.9688 0.0625 0.7188 +0.9688 0.0625 0.75 +0.9688 0.0625 0.7812 +0.9688 0.0625 0.8125 +0.9688 0.0625 0.8438 +0.9688 0.0625 0.875 +0.9688 0.0625 0.9062 +0.9688 0.0625 0.9375 +0.9688 0.0625 0.9688 +0.9688 0.0625 1 +0.9688 0.09375 0 +0.9688 0.09375 0.03125 +0.9688 0.09375 0.0625 +0.9688 0.09375 0.09375 +0.9688 0.09375 0.125 +0.9688 0.09375 0.1562 +0.9688 0.09375 0.1875 +0.9688 0.09375 0.2188 +0.9688 0.09375 0.25 +0.9688 0.09375 0.2812 +0.9688 0.09375 0.3125 +0.9688 0.09375 0.3438 +0.9688 0.09375 0.375 +0.9688 0.09375 0.4062 +0.9688 0.09375 0.4375 +0.9688 0.09375 0.4688 +0.9688 0.09375 0.5 +0.9688 0.09375 0.5312 +0.9688 0.09375 0.5625 +0.9688 0.09375 0.5938 +0.9688 0.09375 0.625 +0.9688 0.09375 0.6562 +0.9688 0.09375 0.6875 +0.9688 0.09375 0.7188 +0.9688 0.09375 0.75 +0.9688 0.09375 0.7812 +0.9688 0.09375 0.8125 +0.9688 0.09375 0.8438 +0.9688 0.09375 0.875 +0.9688 0.09375 0.9062 +0.9688 0.09375 0.9375 +0.9688 0.09375 0.9688 +0.9688 0.09375 1 +0.9688 0.125 0 +0.9688 0.125 0.03125 +0.9688 0.125 0.0625 +0.9688 0.125 0.09375 +0.9688 0.125 0.125 +0.9688 0.125 0.1562 +0.9688 0.125 0.1875 +0.9688 0.125 0.2188 +0.9688 0.125 0.25 +0.9688 0.125 0.2812 +0.9688 0.125 0.3125 +0.9688 0.125 0.3438 +0.9688 0.125 0.375 +0.9688 0.125 0.4062 +0.9688 0.125 0.4375 +0.9688 0.125 0.4688 +0.9688 0.125 0.5 +0.9688 0.125 0.5312 +0.9688 0.125 0.5625 +0.9688 0.125 0.5938 +0.9688 0.125 0.625 +0.9688 0.125 0.6562 +0.9688 0.125 0.6875 +0.9688 0.125 0.7188 +0.9688 0.125 0.75 +0.9688 0.125 0.7812 +0.9688 0.125 0.8125 +0.9688 0.125 0.8438 +0.9688 0.125 0.875 +0.9688 0.125 0.9062 +0.9688 0.125 0.9375 +0.9688 0.125 0.9688 +0.9688 0.125 1 +0.9688 0.1562 0 +0.9688 0.1562 0.03125 +0.9688 0.1562 0.0625 +0.9688 0.1562 0.09375 +0.9688 0.1562 0.125 +0.9688 0.1562 0.1562 +0.9688 0.1562 0.1875 +0.9688 0.1562 0.2188 +0.9688 0.1562 0.25 +0.9688 0.1562 0.2812 +0.9688 0.1562 0.3125 +0.9688 0.1562 0.3438 +0.9688 0.1562 0.375 +0.9688 0.1562 0.4062 +0.9688 0.1562 0.4375 +0.9688 0.1562 0.4688 +0.9688 0.1562 0.5 +0.9688 0.1562 0.5312 +0.9688 0.1562 0.5625 +0.9688 0.1562 0.5938 +0.9688 0.1562 0.625 +0.9688 0.1562 0.6562 +0.9688 0.1562 0.6875 +0.9688 0.1562 0.7188 +0.9688 0.1562 0.75 +0.9688 0.1562 0.7812 +0.9688 0.1562 0.8125 +0.9688 0.1562 0.8438 +0.9688 0.1562 0.875 +0.9688 0.1562 0.9062 +0.9688 0.1562 0.9375 +0.9688 0.1562 0.9688 +0.9688 0.1562 1 +0.9688 0.1875 0 +0.9688 0.1875 0.03125 +0.9688 0.1875 0.0625 +0.9688 0.1875 0.09375 +0.9688 0.1875 0.125 +0.9688 0.1875 0.1562 +0.9688 0.1875 0.1875 +0.9688 0.1875 0.2188 +0.9688 0.1875 0.25 +0.9688 0.1875 0.2812 +0.9688 0.1875 0.3125 +0.9688 0.1875 0.3438 +0.9688 0.1875 0.375 +0.9688 0.1875 0.4062 +0.9688 0.1875 0.4375 +0.9688 0.1875 0.4688 +0.9688 0.1875 0.5 +0.9688 0.1875 0.5312 +0.9688 0.1875 0.5625 +0.9688 0.1875 0.5938 +0.9688 0.1875 0.625 +0.9688 0.1875 0.6562 +0.9688 0.1875 0.6875 +0.9688 0.1875 0.7188 +0.9688 0.1875 0.75 +0.9688 0.1875 0.7812 +0.9688 0.1875 0.8125 +0.9688 0.1875 0.8438 +0.9688 0.1875 0.875 +0.9688 0.1875 0.9062 +0.9688 0.1875 0.9375 +0.9688 0.1875 0.9688 +0.9688 0.1875 1 +0.9688 0.2188 0 +0.9688 0.2188 0.03125 +0.9688 0.2188 0.0625 +0.9688 0.2188 0.09375 +0.9688 0.2188 0.125 +0.9688 0.2188 0.1562 +0.9688 0.2188 0.1875 +0.9688 0.2188 0.2188 +0.9688 0.2188 0.25 +0.9688 0.2188 0.2812 +0.9688 0.2188 0.3125 +0.9688 0.2188 0.3438 +0.9688 0.2188 0.375 +0.9688 0.2188 0.4062 +0.9688 0.2188 0.4375 +0.9688 0.2188 0.4688 +0.9688 0.2188 0.5 +0.9688 0.2188 0.5312 +0.9688 0.2188 0.5625 +0.9688 0.2188 0.5938 +0.9688 0.2188 0.625 +0.9688 0.2188 0.6562 +0.9688 0.2188 0.6875 +0.9688 0.2188 0.7188 +0.9688 0.2188 0.75 +0.9688 0.2188 0.7812 +0.9688 0.2188 0.8125 +0.9688 0.2188 0.8438 +0.9688 0.2188 0.875 +0.9688 0.2188 0.9062 +0.9688 0.2188 0.9375 +0.9688 0.2188 0.9688 +0.9688 0.2188 1 +0.9688 0.25 0 +0.9688 0.25 0.03125 +0.9688 0.25 0.0625 +0.9688 0.25 0.09375 +0.9688 0.25 0.125 +0.9688 0.25 0.1562 +0.9688 0.25 0.1875 +0.9688 0.25 0.2188 +0.9688 0.25 0.25 +0.9688 0.25 0.2812 +0.9688 0.25 0.3125 +0.9688 0.25 0.3438 +0.9688 0.25 0.375 +0.9688 0.25 0.4062 +0.9688 0.25 0.4375 +0.9688 0.25 0.4688 +0.9688 0.25 0.5 +0.9688 0.25 0.5312 +0.9688 0.25 0.5625 +0.9688 0.25 0.5938 +0.9688 0.25 0.625 +0.9688 0.25 0.6562 +0.9688 0.25 0.6875 +0.9688 0.25 0.7188 +0.9688 0.25 0.75 +0.9688 0.25 0.7812 +0.9688 0.25 0.8125 +0.9688 0.25 0.8438 +0.9688 0.25 0.875 +0.9688 0.25 0.9062 +0.9688 0.25 0.9375 +0.9688 0.25 0.9688 +0.9688 0.25 1 +0.9688 0.2812 0 +0.9688 0.2812 0.03125 +0.9688 0.2812 0.0625 +0.9688 0.2812 0.09375 +0.9688 0.2812 0.125 +0.9688 0.2812 0.1562 +0.9688 0.2812 0.1875 +0.9688 0.2812 0.2188 +0.9688 0.2812 0.25 +0.9688 0.2812 0.2812 +0.9688 0.2812 0.3125 +0.9688 0.2812 0.3438 +0.9688 0.2812 0.375 +0.9688 0.2812 0.4062 +0.9688 0.2812 0.4375 +0.9688 0.2812 0.4688 +0.9688 0.2812 0.5 +0.9688 0.2812 0.5312 +0.9688 0.2812 0.5625 +0.9688 0.2812 0.5938 +0.9688 0.2812 0.625 +0.9688 0.2812 0.6562 +0.9688 0.2812 0.6875 +0.9688 0.2812 0.7188 +0.9688 0.2812 0.75 +0.9688 0.2812 0.7812 +0.9688 0.2812 0.8125 +0.9688 0.2812 0.8438 +0.9688 0.2812 0.875 +0.9688 0.2812 0.9062 +0.9688 0.2812 0.9375 +0.9688 0.2812 0.9688 +0.9688 0.2812 1 +0.9688 0.3125 0 +0.9688 0.3125 0.03125 +0.9688 0.3125 0.0625 +0.9688 0.3125 0.09375 +0.9688 0.3125 0.125 +0.9688 0.3125 0.1562 +0.9688 0.3125 0.1875 +0.9688 0.3125 0.2188 +0.9688 0.3125 0.25 +0.9688 0.3125 0.2812 +0.9688 0.3125 0.3125 +0.9688 0.3125 0.3438 +0.9688 0.3125 0.375 +0.9688 0.3125 0.4062 +0.9688 0.3125 0.4375 +0.9688 0.3125 0.4688 +0.9688 0.3125 0.5 +0.9688 0.3125 0.5312 +0.9688 0.3125 0.5625 +0.9688 0.3125 0.5938 +0.9688 0.3125 0.625 +0.9688 0.3125 0.6562 +0.9688 0.3125 0.6875 +0.9688 0.3125 0.7188 +0.9688 0.3125 0.75 +0.9688 0.3125 0.7812 +0.9688 0.3125 0.8125 +0.9688 0.3125 0.8438 +0.9688 0.3125 0.875 +0.9688 0.3125 0.9062 +0.9688 0.3125 0.9375 +0.9688 0.3125 0.9688 +0.9688 0.3125 1 +0.9688 0.3438 0 +0.9688 0.3438 0.03125 +0.9688 0.3438 0.0625 +0.9688 0.3438 0.09375 +0.9688 0.3438 0.125 +0.9688 0.3438 0.1562 +0.9688 0.3438 0.1875 +0.9688 0.3438 0.2188 +0.9688 0.3438 0.25 +0.9688 0.3438 0.2812 +0.9688 0.3438 0.3125 +0.9688 0.3438 0.3438 +0.9688 0.3438 0.375 +0.9688 0.3438 0.4062 +0.9688 0.3438 0.4375 +0.9688 0.3438 0.4688 +0.9688 0.3438 0.5 +0.9688 0.3438 0.5312 +0.9688 0.3438 0.5625 +0.9688 0.3438 0.5938 +0.9688 0.3438 0.625 +0.9688 0.3438 0.6562 +0.9688 0.3438 0.6875 +0.9688 0.3438 0.7188 +0.9688 0.3438 0.75 +0.9688 0.3438 0.7812 +0.9688 0.3438 0.8125 +0.9688 0.3438 0.8438 +0.9688 0.3438 0.875 +0.9688 0.3438 0.9062 +0.9688 0.3438 0.9375 +0.9688 0.3438 0.9688 +0.9688 0.3438 1 +0.9688 0.375 0 +0.9688 0.375 0.03125 +0.9688 0.375 0.0625 +0.9688 0.375 0.09375 +0.9688 0.375 0.125 +0.9688 0.375 0.1562 +0.9688 0.375 0.1875 +0.9688 0.375 0.2188 +0.9688 0.375 0.25 +0.9688 0.375 0.2812 +0.9688 0.375 0.3125 +0.9688 0.375 0.3438 +0.9688 0.375 0.375 +0.9688 0.375 0.4062 +0.9688 0.375 0.4375 +0.9688 0.375 0.4688 +0.9688 0.375 0.5 +0.9688 0.375 0.5312 +0.9688 0.375 0.5625 +0.9688 0.375 0.5938 +0.9688 0.375 0.625 +0.9688 0.375 0.6562 +0.9688 0.375 0.6875 +0.9688 0.375 0.7188 +0.9688 0.375 0.75 +0.9688 0.375 0.7812 +0.9688 0.375 0.8125 +0.9688 0.375 0.8438 +0.9688 0.375 0.875 +0.9688 0.375 0.9062 +0.9688 0.375 0.9375 +0.9688 0.375 0.9688 +0.9688 0.375 1 +0.9688 0.4062 0 +0.9688 0.4062 0.03125 +0.9688 0.4062 0.0625 +0.9688 0.4062 0.09375 +0.9688 0.4062 0.125 +0.9688 0.4062 0.1562 +0.9688 0.4062 0.1875 +0.9688 0.4062 0.2188 +0.9688 0.4062 0.25 +0.9688 0.4062 0.2812 +0.9688 0.4062 0.3125 +0.9688 0.4062 0.3438 +0.9688 0.4062 0.375 +0.9688 0.4062 0.4062 +0.9688 0.4062 0.4375 +0.9688 0.4062 0.4688 +0.9688 0.4062 0.5 +0.9688 0.4062 0.5312 +0.9688 0.4062 0.5625 +0.9688 0.4062 0.5938 +0.9688 0.4062 0.625 +0.9688 0.4062 0.6562 +0.9688 0.4062 0.6875 +0.9688 0.4062 0.7188 +0.9688 0.4062 0.75 +0.9688 0.4062 0.7812 +0.9688 0.4062 0.8125 +0.9688 0.4062 0.8438 +0.9688 0.4062 0.875 +0.9688 0.4062 0.9062 +0.9688 0.4062 0.9375 +0.9688 0.4062 0.9688 +0.9688 0.4062 1 +0.9688 0.4375 0 +0.9688 0.4375 0.03125 +0.9688 0.4375 0.0625 +0.9688 0.4375 0.09375 +0.9688 0.4375 0.125 +0.9688 0.4375 0.1562 +0.9688 0.4375 0.1875 +0.9688 0.4375 0.2188 +0.9688 0.4375 0.25 +0.9688 0.4375 0.2812 +0.9688 0.4375 0.3125 +0.9688 0.4375 0.3438 +0.9688 0.4375 0.375 +0.9688 0.4375 0.4062 +0.9688 0.4375 0.4375 +0.9688 0.4375 0.4688 +0.9688 0.4375 0.5 +0.9688 0.4375 0.5312 +0.9688 0.4375 0.5625 +0.9688 0.4375 0.5938 +0.9688 0.4375 0.625 +0.9688 0.4375 0.6562 +0.9688 0.4375 0.6875 +0.9688 0.4375 0.7188 +0.9688 0.4375 0.75 +0.9688 0.4375 0.7812 +0.9688 0.4375 0.8125 +0.9688 0.4375 0.8438 +0.9688 0.4375 0.875 +0.9688 0.4375 0.9062 +0.9688 0.4375 0.9375 +0.9688 0.4375 0.9688 +0.9688 0.4375 1 +0.9688 0.4688 0 +0.9688 0.4688 0.03125 +0.9688 0.4688 0.0625 +0.9688 0.4688 0.09375 +0.9688 0.4688 0.125 +0.9688 0.4688 0.1562 +0.9688 0.4688 0.1875 +0.9688 0.4688 0.2188 +0.9688 0.4688 0.25 +0.9688 0.4688 0.2812 +0.9688 0.4688 0.3125 +0.9688 0.4688 0.3438 +0.9688 0.4688 0.375 +0.9688 0.4688 0.4062 +0.9688 0.4688 0.4375 +0.9688 0.4688 0.4688 +0.9688 0.4688 0.5 +0.9688 0.4688 0.5312 +0.9688 0.4688 0.5625 +0.9688 0.4688 0.5938 +0.9688 0.4688 0.625 +0.9688 0.4688 0.6562 +0.9688 0.4688 0.6875 +0.9688 0.4688 0.7188 +0.9688 0.4688 0.75 +0.9688 0.4688 0.7812 +0.9688 0.4688 0.8125 +0.9688 0.4688 0.8438 +0.9688 0.4688 0.875 +0.9688 0.4688 0.9062 +0.9688 0.4688 0.9375 +0.9688 0.4688 0.9688 +0.9688 0.4688 1 +0.9688 0.5 0 +0.9688 0.5 0.03125 +0.9688 0.5 0.0625 +0.9688 0.5 0.09375 +0.9688 0.5 0.125 +0.9688 0.5 0.1562 +0.9688 0.5 0.1875 +0.9688 0.5 0.2188 +0.9688 0.5 0.25 +0.9688 0.5 0.2812 +0.9688 0.5 0.3125 +0.9688 0.5 0.3438 +0.9688 0.5 0.375 +0.9688 0.5 0.4062 +0.9688 0.5 0.4375 +0.9688 0.5 0.4688 +0.9688 0.5 0.5 +0.9688 0.5 0.5312 +0.9688 0.5 0.5625 +0.9688 0.5 0.5938 +0.9688 0.5 0.625 +0.9688 0.5 0.6562 +0.9688 0.5 0.6875 +0.9688 0.5 0.7188 +0.9688 0.5 0.75 +0.9688 0.5 0.7812 +0.9688 0.5 0.8125 +0.9688 0.5 0.8438 +0.9688 0.5 0.875 +0.9688 0.5 0.9062 +0.9688 0.5 0.9375 +0.9688 0.5 0.9688 +0.9688 0.5 1 +0.9688 0.5312 0 +0.9688 0.5312 0.03125 +0.9688 0.5312 0.0625 +0.9688 0.5312 0.09375 +0.9688 0.5312 0.125 +0.9688 0.5312 0.1562 +0.9688 0.5312 0.1875 +0.9688 0.5312 0.2188 +0.9688 0.5312 0.25 +0.9688 0.5312 0.2812 +0.9688 0.5312 0.3125 +0.9688 0.5312 0.3438 +0.9688 0.5312 0.375 +0.9688 0.5312 0.4062 +0.9688 0.5312 0.4375 +0.9688 0.5312 0.4688 +0.9688 0.5312 0.5 +0.9688 0.5312 0.5312 +0.9688 0.5312 0.5625 +0.9688 0.5312 0.5938 +0.9688 0.5312 0.625 +0.9688 0.5312 0.6562 +0.9688 0.5312 0.6875 +0.9688 0.5312 0.7188 +0.9688 0.5312 0.75 +0.9688 0.5312 0.7812 +0.9688 0.5312 0.8125 +0.9688 0.5312 0.8438 +0.9688 0.5312 0.875 +0.9688 0.5312 0.9062 +0.9688 0.5312 0.9375 +0.9688 0.5312 0.9688 +0.9688 0.5312 1 +0.9688 0.5625 0 +0.9688 0.5625 0.03125 +0.9688 0.5625 0.0625 +0.9688 0.5625 0.09375 +0.9688 0.5625 0.125 +0.9688 0.5625 0.1562 +0.9688 0.5625 0.1875 +0.9688 0.5625 0.2188 +0.9688 0.5625 0.25 +0.9688 0.5625 0.2812 +0.9688 0.5625 0.3125 +0.9688 0.5625 0.3438 +0.9688 0.5625 0.375 +0.9688 0.5625 0.4062 +0.9688 0.5625 0.4375 +0.9688 0.5625 0.4688 +0.9688 0.5625 0.5 +0.9688 0.5625 0.5312 +0.9688 0.5625 0.5625 +0.9688 0.5625 0.5938 +0.9688 0.5625 0.625 +0.9688 0.5625 0.6562 +0.9688 0.5625 0.6875 +0.9688 0.5625 0.7188 +0.9688 0.5625 0.75 +0.9688 0.5625 0.7812 +0.9688 0.5625 0.8125 +0.9688 0.5625 0.8438 +0.9688 0.5625 0.875 +0.9688 0.5625 0.9062 +0.9688 0.5625 0.9375 +0.9688 0.5625 0.9688 +0.9688 0.5625 1 +0.9688 0.5938 0 +0.9688 0.5938 0.03125 +0.9688 0.5938 0.0625 +0.9688 0.5938 0.09375 +0.9688 0.5938 0.125 +0.9688 0.5938 0.1562 +0.9688 0.5938 0.1875 +0.9688 0.5938 0.2188 +0.9688 0.5938 0.25 +0.9688 0.5938 0.2812 +0.9688 0.5938 0.3125 +0.9688 0.5938 0.3438 +0.9688 0.5938 0.375 +0.9688 0.5938 0.4062 +0.9688 0.5938 0.4375 +0.9688 0.5938 0.4688 +0.9688 0.5938 0.5 +0.9688 0.5938 0.5312 +0.9688 0.5938 0.5625 +0.9688 0.5938 0.5938 +0.9688 0.5938 0.625 +0.9688 0.5938 0.6562 +0.9688 0.5938 0.6875 +0.9688 0.5938 0.7188 +0.9688 0.5938 0.75 +0.9688 0.5938 0.7812 +0.9688 0.5938 0.8125 +0.9688 0.5938 0.8438 +0.9688 0.5938 0.875 +0.9688 0.5938 0.9062 +0.9688 0.5938 0.9375 +0.9688 0.5938 0.9688 +0.9688 0.5938 1 +0.9688 0.625 0 +0.9688 0.625 0.03125 +0.9688 0.625 0.0625 +0.9688 0.625 0.09375 +0.9688 0.625 0.125 +0.9688 0.625 0.1562 +0.9688 0.625 0.1875 +0.9688 0.625 0.2188 +0.9688 0.625 0.25 +0.9688 0.625 0.2812 +0.9688 0.625 0.3125 +0.9688 0.625 0.3438 +0.9688 0.625 0.375 +0.9688 0.625 0.4062 +0.9688 0.625 0.4375 +0.9688 0.625 0.4688 +0.9688 0.625 0.5 +0.9688 0.625 0.5312 +0.9688 0.625 0.5625 +0.9688 0.625 0.5938 +0.9688 0.625 0.625 +0.9688 0.625 0.6562 +0.9688 0.625 0.6875 +0.9688 0.625 0.7188 +0.9688 0.625 0.75 +0.9688 0.625 0.7812 +0.9688 0.625 0.8125 +0.9688 0.625 0.8438 +0.9688 0.625 0.875 +0.9688 0.625 0.9062 +0.9688 0.625 0.9375 +0.9688 0.625 0.9688 +0.9688 0.625 1 +0.9688 0.6562 0 +0.9688 0.6562 0.03125 +0.9688 0.6562 0.0625 +0.9688 0.6562 0.09375 +0.9688 0.6562 0.125 +0.9688 0.6562 0.1562 +0.9688 0.6562 0.1875 +0.9688 0.6562 0.2188 +0.9688 0.6562 0.25 +0.9688 0.6562 0.2812 +0.9688 0.6562 0.3125 +0.9688 0.6562 0.3438 +0.9688 0.6562 0.375 +0.9688 0.6562 0.4062 +0.9688 0.6562 0.4375 +0.9688 0.6562 0.4688 +0.9688 0.6562 0.5 +0.9688 0.6562 0.5312 +0.9688 0.6562 0.5625 +0.9688 0.6562 0.5938 +0.9688 0.6562 0.625 +0.9688 0.6562 0.6562 +0.9688 0.6562 0.6875 +0.9688 0.6562 0.7188 +0.9688 0.6562 0.75 +0.9688 0.6562 0.7812 +0.9688 0.6562 0.8125 +0.9688 0.6562 0.8438 +0.9688 0.6562 0.875 +0.9688 0.6562 0.9062 +0.9688 0.6562 0.9375 +0.9688 0.6562 0.9688 +0.9688 0.6562 1 +0.9688 0.6875 0 +0.9688 0.6875 0.03125 +0.9688 0.6875 0.0625 +0.9688 0.6875 0.09375 +0.9688 0.6875 0.125 +0.9688 0.6875 0.1562 +0.9688 0.6875 0.1875 +0.9688 0.6875 0.2188 +0.9688 0.6875 0.25 +0.9688 0.6875 0.2812 +0.9688 0.6875 0.3125 +0.9688 0.6875 0.3438 +0.9688 0.6875 0.375 +0.9688 0.6875 0.4062 +0.9688 0.6875 0.4375 +0.9688 0.6875 0.4688 +0.9688 0.6875 0.5 +0.9688 0.6875 0.5312 +0.9688 0.6875 0.5625 +0.9688 0.6875 0.5938 +0.9688 0.6875 0.625 +0.9688 0.6875 0.6562 +0.9688 0.6875 0.6875 +0.9688 0.6875 0.7188 +0.9688 0.6875 0.75 +0.9688 0.6875 0.7812 +0.9688 0.6875 0.8125 +0.9688 0.6875 0.8438 +0.9688 0.6875 0.875 +0.9688 0.6875 0.9062 +0.9688 0.6875 0.9375 +0.9688 0.6875 0.9688 +0.9688 0.6875 1 +0.9688 0.7188 0 +0.9688 0.7188 0.03125 +0.9688 0.7188 0.0625 +0.9688 0.7188 0.09375 +0.9688 0.7188 0.125 +0.9688 0.7188 0.1562 +0.9688 0.7188 0.1875 +0.9688 0.7188 0.2188 +0.9688 0.7188 0.25 +0.9688 0.7188 0.2812 +0.9688 0.7188 0.3125 +0.9688 0.7188 0.3438 +0.9688 0.7188 0.375 +0.9688 0.7188 0.4062 +0.9688 0.7188 0.4375 +0.9688 0.7188 0.4688 +0.9688 0.7188 0.5 +0.9688 0.7188 0.5312 +0.9688 0.7188 0.5625 +0.9688 0.7188 0.5938 +0.9688 0.7188 0.625 +0.9688 0.7188 0.6562 +0.9688 0.7188 0.6875 +0.9688 0.7188 0.7188 +0.9688 0.7188 0.75 +0.9688 0.7188 0.7812 +0.9688 0.7188 0.8125 +0.9688 0.7188 0.8438 +0.9688 0.7188 0.875 +0.9688 0.7188 0.9062 +0.9688 0.7188 0.9375 +0.9688 0.7188 0.9688 +0.9688 0.7188 1 +0.9688 0.75 0 +0.9688 0.75 0.03125 +0.9688 0.75 0.0625 +0.9688 0.75 0.09375 +0.9688 0.75 0.125 +0.9688 0.75 0.1562 +0.9688 0.75 0.1875 +0.9688 0.75 0.2188 +0.9688 0.75 0.25 +0.9688 0.75 0.2812 +0.9688 0.75 0.3125 +0.9688 0.75 0.3438 +0.9688 0.75 0.375 +0.9688 0.75 0.4062 +0.9688 0.75 0.4375 +0.9688 0.75 0.4688 +0.9688 0.75 0.5 +0.9688 0.75 0.5312 +0.9688 0.75 0.5625 +0.9688 0.75 0.5938 +0.9688 0.75 0.625 +0.9688 0.75 0.6562 +0.9688 0.75 0.6875 +0.9688 0.75 0.7188 +0.9688 0.75 0.75 +0.9688 0.75 0.7812 +0.9688 0.75 0.8125 +0.9688 0.75 0.8438 +0.9688 0.75 0.875 +0.9688 0.75 0.9062 +0.9688 0.75 0.9375 +0.9688 0.75 0.9688 +0.9688 0.75 1 +0.9688 0.7812 0 +0.9688 0.7812 0.03125 +0.9688 0.7812 0.0625 +0.9688 0.7812 0.09375 +0.9688 0.7812 0.125 +0.9688 0.7812 0.1562 +0.9688 0.7812 0.1875 +0.9688 0.7812 0.2188 +0.9688 0.7812 0.25 +0.9688 0.7812 0.2812 +0.9688 0.7812 0.3125 +0.9688 0.7812 0.3438 +0.9688 0.7812 0.375 +0.9688 0.7812 0.4062 +0.9688 0.7812 0.4375 +0.9688 0.7812 0.4688 +0.9688 0.7812 0.5 +0.9688 0.7812 0.5312 +0.9688 0.7812 0.5625 +0.9688 0.7812 0.5938 +0.9688 0.7812 0.625 +0.9688 0.7812 0.6562 +0.9688 0.7812 0.6875 +0.9688 0.7812 0.7188 +0.9688 0.7812 0.75 +0.9688 0.7812 0.7812 +0.9688 0.7812 0.8125 +0.9688 0.7812 0.8438 +0.9688 0.7812 0.875 +0.9688 0.7812 0.9062 +0.9688 0.7812 0.9375 +0.9688 0.7812 0.9688 +0.9688 0.7812 1 +0.9688 0.8125 0 +0.9688 0.8125 0.03125 +0.9688 0.8125 0.0625 +0.9688 0.8125 0.09375 +0.9688 0.8125 0.125 +0.9688 0.8125 0.1562 +0.9688 0.8125 0.1875 +0.9688 0.8125 0.2188 +0.9688 0.8125 0.25 +0.9688 0.8125 0.2812 +0.9688 0.8125 0.3125 +0.9688 0.8125 0.3438 +0.9688 0.8125 0.375 +0.9688 0.8125 0.4062 +0.9688 0.8125 0.4375 +0.9688 0.8125 0.4688 +0.9688 0.8125 0.5 +0.9688 0.8125 0.5312 +0.9688 0.8125 0.5625 +0.9688 0.8125 0.5938 +0.9688 0.8125 0.625 +0.9688 0.8125 0.6562 +0.9688 0.8125 0.6875 +0.9688 0.8125 0.7188 +0.9688 0.8125 0.75 +0.9688 0.8125 0.7812 +0.9688 0.8125 0.8125 +0.9688 0.8125 0.8438 +0.9688 0.8125 0.875 +0.9688 0.8125 0.9062 +0.9688 0.8125 0.9375 +0.9688 0.8125 0.9688 +0.9688 0.8125 1 +0.9688 0.8438 0 +0.9688 0.8438 0.03125 +0.9688 0.8438 0.0625 +0.9688 0.8438 0.09375 +0.9688 0.8438 0.125 +0.9688 0.8438 0.1562 +0.9688 0.8438 0.1875 +0.9688 0.8438 0.2188 +0.9688 0.8438 0.25 +0.9688 0.8438 0.2812 +0.9688 0.8438 0.3125 +0.9688 0.8438 0.3438 +0.9688 0.8438 0.375 +0.9688 0.8438 0.4062 +0.9688 0.8438 0.4375 +0.9688 0.8438 0.4688 +0.9688 0.8438 0.5 +0.9688 0.8438 0.5312 +0.9688 0.8438 0.5625 +0.9688 0.8438 0.5938 +0.9688 0.8438 0.625 +0.9688 0.8438 0.6562 +0.9688 0.8438 0.6875 +0.9688 0.8438 0.7188 +0.9688 0.8438 0.75 +0.9688 0.8438 0.7812 +0.9688 0.8438 0.8125 +0.9688 0.8438 0.8438 +0.9688 0.8438 0.875 +0.9688 0.8438 0.9062 +0.9688 0.8438 0.9375 +0.9688 0.8438 0.9688 +0.9688 0.8438 1 +0.9688 0.875 0 +0.9688 0.875 0.03125 +0.9688 0.875 0.0625 +0.9688 0.875 0.09375 +0.9688 0.875 0.125 +0.9688 0.875 0.1562 +0.9688 0.875 0.1875 +0.9688 0.875 0.2188 +0.9688 0.875 0.25 +0.9688 0.875 0.2812 +0.9688 0.875 0.3125 +0.9688 0.875 0.3438 +0.9688 0.875 0.375 +0.9688 0.875 0.4062 +0.9688 0.875 0.4375 +0.9688 0.875 0.4688 +0.9688 0.875 0.5 +0.9688 0.875 0.5312 +0.9688 0.875 0.5625 +0.9688 0.875 0.5938 +0.9688 0.875 0.625 +0.9688 0.875 0.6562 +0.9688 0.875 0.6875 +0.9688 0.875 0.7188 +0.9688 0.875 0.75 +0.9688 0.875 0.7812 +0.9688 0.875 0.8125 +0.9688 0.875 0.8438 +0.9688 0.875 0.875 +0.9688 0.875 0.9062 +0.9688 0.875 0.9375 +0.9688 0.875 0.9688 +0.9688 0.875 1 +0.9688 0.9062 0 +0.9688 0.9062 0.03125 +0.9688 0.9062 0.0625 +0.9688 0.9062 0.09375 +0.9688 0.9062 0.125 +0.9688 0.9062 0.1562 +0.9688 0.9062 0.1875 +0.9688 0.9062 0.2188 +0.9688 0.9062 0.25 +0.9688 0.9062 0.2812 +0.9688 0.9062 0.3125 +0.9688 0.9062 0.3438 +0.9688 0.9062 0.375 +0.9688 0.9062 0.4062 +0.9688 0.9062 0.4375 +0.9688 0.9062 0.4688 +0.9688 0.9062 0.5 +0.9688 0.9062 0.5312 +0.9688 0.9062 0.5625 +0.9688 0.9062 0.5938 +0.9688 0.9062 0.625 +0.9688 0.9062 0.6562 +0.9688 0.9062 0.6875 +0.9688 0.9062 0.7188 +0.9688 0.9062 0.75 +0.9688 0.9062 0.7812 +0.9688 0.9062 0.8125 +0.9688 0.9062 0.8438 +0.9688 0.9062 0.875 +0.9688 0.9062 0.9062 +0.9688 0.9062 0.9375 +0.9688 0.9062 0.9688 +0.9688 0.9062 1 +0.9688 0.9375 0 +0.9688 0.9375 0.03125 +0.9688 0.9375 0.0625 +0.9688 0.9375 0.09375 +0.9688 0.9375 0.125 +0.9688 0.9375 0.1562 +0.9688 0.9375 0.1875 +0.9688 0.9375 0.2188 +0.9688 0.9375 0.25 +0.9688 0.9375 0.2812 +0.9688 0.9375 0.3125 +0.9688 0.9375 0.3438 +0.9688 0.9375 0.375 +0.9688 0.9375 0.4062 +0.9688 0.9375 0.4375 +0.9688 0.9375 0.4688 +0.9688 0.9375 0.5 +0.9688 0.9375 0.5312 +0.9688 0.9375 0.5625 +0.9688 0.9375 0.5938 +0.9688 0.9375 0.625 +0.9688 0.9375 0.6562 +0.9688 0.9375 0.6875 +0.9688 0.9375 0.7188 +0.9688 0.9375 0.75 +0.9688 0.9375 0.7812 +0.9688 0.9375 0.8125 +0.9688 0.9375 0.8438 +0.9688 0.9375 0.875 +0.9688 0.9375 0.9062 +0.9688 0.9375 0.9375 +0.9688 0.9375 0.9688 +0.9688 0.9375 1 +0.9688 0.9688 0 +0.9688 0.9688 0.03125 +0.9688 0.9688 0.0625 +0.9688 0.9688 0.09375 +0.9688 0.9688 0.125 +0.9688 0.9688 0.1562 +0.9688 0.9688 0.1875 +0.9688 0.9688 0.2188 +0.9688 0.9688 0.25 +0.9688 0.9688 0.2812 +0.9688 0.9688 0.3125 +0.9688 0.9688 0.3438 +0.9688 0.9688 0.375 +0.9688 0.9688 0.4062 +0.9688 0.9688 0.4375 +0.9688 0.9688 0.4688 +0.9688 0.9688 0.5 +0.9688 0.9688 0.5312 +0.9688 0.9688 0.5625 +0.9688 0.9688 0.5938 +0.9688 0.9688 0.625 +0.9688 0.9688 0.6562 +0.9688 0.9688 0.6875 +0.9688 0.9688 0.7188 +0.9688 0.9688 0.75 +0.9688 0.9688 0.7812 +0.9688 0.9688 0.8125 +0.9688 0.9688 0.8438 +0.9688 0.9688 0.875 +0.9688 0.9688 0.9062 +0.9688 0.9688 0.9375 +0.9688 0.9688 0.9688 +0.9688 0.9688 1 +0.9688 1 0 +0.9688 1 0.03125 +0.9688 1 0.0625 +0.9688 1 0.09375 +0.9688 1 0.125 +0.9688 1 0.1562 +0.9688 1 0.1875 +0.9688 1 0.2188 +0.9688 1 0.25 +0.9688 1 0.2812 +0.9688 1 0.3125 +0.9688 1 0.3438 +0.9688 1 0.375 +0.9688 1 0.4062 +0.9688 1 0.4375 +0.9688 1 0.4688 +0.9688 1 0.5 +0.9688 1 0.5312 +0.9688 1 0.5625 +0.9688 1 0.5938 +0.9688 1 0.625 +0.9688 1 0.6562 +0.9688 1 0.6875 +0.9688 1 0.7188 +0.9688 1 0.75 +0.9688 1 0.7812 +0.9688 1 0.8125 +0.9688 1 0.8438 +0.9688 1 0.875 +0.9688 1 0.9062 +0.9688 1 0.9375 +0.9688 1 0.9688 +0.9688 1 1 +1 0 0 +1 0 0.03125 +1 0 0.0625 +1 0 0.09375 +1 0 0.125 +1 0 0.1562 +1 0 0.1875 +1 0 0.2188 +1 0 0.25 +1 0 0.2812 +1 0 0.3125 +1 0 0.3438 +1 0 0.375 +1 0 0.4062 +1 0 0.4375 +1 0 0.4688 +1 0 0.5 +1 0 0.5312 +1 0 0.5625 +1 0 0.5938 +1 0 0.625 +1 0 0.6562 +1 0 0.6875 +1 0 0.7188 +1 0 0.75 +1 0 0.7812 +1 0 0.8125 +1 0 0.8438 +1 0 0.875 +1 0 0.9062 +1 0 0.9375 +1 0 0.9688 +1 0 1 +1 0.03125 0 +1 0.03125 0.03125 +1 0.03125 0.0625 +1 0.03125 0.09375 +1 0.03125 0.125 +1 0.03125 0.1562 +1 0.03125 0.1875 +1 0.03125 0.2188 +1 0.03125 0.25 +1 0.03125 0.2812 +1 0.03125 0.3125 +1 0.03125 0.3438 +1 0.03125 0.375 +1 0.03125 0.4062 +1 0.03125 0.4375 +1 0.03125 0.4688 +1 0.03125 0.5 +1 0.03125 0.5312 +1 0.03125 0.5625 +1 0.03125 0.5938 +1 0.03125 0.625 +1 0.03125 0.6562 +1 0.03125 0.6875 +1 0.03125 0.7188 +1 0.03125 0.75 +1 0.03125 0.7812 +1 0.03125 0.8125 +1 0.03125 0.8438 +1 0.03125 0.875 +1 0.03125 0.9062 +1 0.03125 0.9375 +1 0.03125 0.9688 +1 0.03125 1 +1 0.0625 0 +1 0.0625 0.03125 +1 0.0625 0.0625 +1 0.0625 0.09375 +1 0.0625 0.125 +1 0.0625 0.1562 +1 0.0625 0.1875 +1 0.0625 0.2188 +1 0.0625 0.25 +1 0.0625 0.2812 +1 0.0625 0.3125 +1 0.0625 0.3438 +1 0.0625 0.375 +1 0.0625 0.4062 +1 0.0625 0.4375 +1 0.0625 0.4688 +1 0.0625 0.5 +1 0.0625 0.5312 +1 0.0625 0.5625 +1 0.0625 0.5938 +1 0.0625 0.625 +1 0.0625 0.6562 +1 0.0625 0.6875 +1 0.0625 0.7188 +1 0.0625 0.75 +1 0.0625 0.7812 +1 0.0625 0.8125 +1 0.0625 0.8438 +1 0.0625 0.875 +1 0.0625 0.9062 +1 0.0625 0.9375 +1 0.0625 0.9688 +1 0.0625 1 +1 0.09375 0 +1 0.09375 0.03125 +1 0.09375 0.0625 +1 0.09375 0.09375 +1 0.09375 0.125 +1 0.09375 0.1562 +1 0.09375 0.1875 +1 0.09375 0.2188 +1 0.09375 0.25 +1 0.09375 0.2812 +1 0.09375 0.3125 +1 0.09375 0.3438 +1 0.09375 0.375 +1 0.09375 0.4062 +1 0.09375 0.4375 +1 0.09375 0.4688 +1 0.09375 0.5 +1 0.09375 0.5312 +1 0.09375 0.5625 +1 0.09375 0.5938 +1 0.09375 0.625 +1 0.09375 0.6562 +1 0.09375 0.6875 +1 0.09375 0.7188 +1 0.09375 0.75 +1 0.09375 0.7812 +1 0.09375 0.8125 +1 0.09375 0.8438 +1 0.09375 0.875 +1 0.09375 0.9062 +1 0.09375 0.9375 +1 0.09375 0.9688 +1 0.09375 1 +1 0.125 0 +1 0.125 0.03125 +1 0.125 0.0625 +1 0.125 0.09375 +1 0.125 0.125 +1 0.125 0.1562 +1 0.125 0.1875 +1 0.125 0.2188 +1 0.125 0.25 +1 0.125 0.2812 +1 0.125 0.3125 +1 0.125 0.3438 +1 0.125 0.375 +1 0.125 0.4062 +1 0.125 0.4375 +1 0.125 0.4688 +1 0.125 0.5 +1 0.125 0.5312 +1 0.125 0.5625 +1 0.125 0.5938 +1 0.125 0.625 +1 0.125 0.6562 +1 0.125 0.6875 +1 0.125 0.7188 +1 0.125 0.75 +1 0.125 0.7812 +1 0.125 0.8125 +1 0.125 0.8438 +1 0.125 0.875 +1 0.125 0.9062 +1 0.125 0.9375 +1 0.125 0.9688 +1 0.125 1 +1 0.1562 0 +1 0.1562 0.03125 +1 0.1562 0.0625 +1 0.1562 0.09375 +1 0.1562 0.125 +1 0.1562 0.1562 +1 0.1562 0.1875 +1 0.1562 0.2188 +1 0.1562 0.25 +1 0.1562 0.2812 +1 0.1562 0.3125 +1 0.1562 0.3438 +1 0.1562 0.375 +1 0.1562 0.4062 +1 0.1562 0.4375 +1 0.1562 0.4688 +1 0.1562 0.5 +1 0.1562 0.5312 +1 0.1562 0.5625 +1 0.1562 0.5938 +1 0.1562 0.625 +1 0.1562 0.6562 +1 0.1562 0.6875 +1 0.1562 0.7188 +1 0.1562 0.75 +1 0.1562 0.7812 +1 0.1562 0.8125 +1 0.1562 0.8438 +1 0.1562 0.875 +1 0.1562 0.9062 +1 0.1562 0.9375 +1 0.1562 0.9688 +1 0.1562 1 +1 0.1875 0 +1 0.1875 0.03125 +1 0.1875 0.0625 +1 0.1875 0.09375 +1 0.1875 0.125 +1 0.1875 0.1562 +1 0.1875 0.1875 +1 0.1875 0.2188 +1 0.1875 0.25 +1 0.1875 0.2812 +1 0.1875 0.3125 +1 0.1875 0.3438 +1 0.1875 0.375 +1 0.1875 0.4062 +1 0.1875 0.4375 +1 0.1875 0.4688 +1 0.1875 0.5 +1 0.1875 0.5312 +1 0.1875 0.5625 +1 0.1875 0.5938 +1 0.1875 0.625 +1 0.1875 0.6562 +1 0.1875 0.6875 +1 0.1875 0.7188 +1 0.1875 0.75 +1 0.1875 0.7812 +1 0.1875 0.8125 +1 0.1875 0.8438 +1 0.1875 0.875 +1 0.1875 0.9062 +1 0.1875 0.9375 +1 0.1875 0.9688 +1 0.1875 1 +1 0.2188 0 +1 0.2188 0.03125 +1 0.2188 0.0625 +1 0.2188 0.09375 +1 0.2188 0.125 +1 0.2188 0.1562 +1 0.2188 0.1875 +1 0.2188 0.2188 +1 0.2188 0.25 +1 0.2188 0.2812 +1 0.2188 0.3125 +1 0.2188 0.3438 +1 0.2188 0.375 +1 0.2188 0.4062 +1 0.2188 0.4375 +1 0.2188 0.4688 +1 0.2188 0.5 +1 0.2188 0.5312 +1 0.2188 0.5625 +1 0.2188 0.5938 +1 0.2188 0.625 +1 0.2188 0.6562 +1 0.2188 0.6875 +1 0.2188 0.7188 +1 0.2188 0.75 +1 0.2188 0.7812 +1 0.2188 0.8125 +1 0.2188 0.8438 +1 0.2188 0.875 +1 0.2188 0.9062 +1 0.2188 0.9375 +1 0.2188 0.9688 +1 0.2188 1 +1 0.25 0 +1 0.25 0.03125 +1 0.25 0.0625 +1 0.25 0.09375 +1 0.25 0.125 +1 0.25 0.1562 +1 0.25 0.1875 +1 0.25 0.2188 +1 0.25 0.25 +1 0.25 0.2812 +1 0.25 0.3125 +1 0.25 0.3438 +1 0.25 0.375 +1 0.25 0.4062 +1 0.25 0.4375 +1 0.25 0.4688 +1 0.25 0.5 +1 0.25 0.5312 +1 0.25 0.5625 +1 0.25 0.5938 +1 0.25 0.625 +1 0.25 0.6562 +1 0.25 0.6875 +1 0.25 0.7188 +1 0.25 0.75 +1 0.25 0.7812 +1 0.25 0.8125 +1 0.25 0.8438 +1 0.25 0.875 +1 0.25 0.9062 +1 0.25 0.9375 +1 0.25 0.9688 +1 0.25 1 +1 0.2812 0 +1 0.2812 0.03125 +1 0.2812 0.0625 +1 0.2812 0.09375 +1 0.2812 0.125 +1 0.2812 0.1562 +1 0.2812 0.1875 +1 0.2812 0.2188 +1 0.2812 0.25 +1 0.2812 0.2812 +1 0.2812 0.3125 +1 0.2812 0.3438 +1 0.2812 0.375 +1 0.2812 0.4062 +1 0.2812 0.4375 +1 0.2812 0.4688 +1 0.2812 0.5 +1 0.2812 0.5312 +1 0.2812 0.5625 +1 0.2812 0.5938 +1 0.2812 0.625 +1 0.2812 0.6562 +1 0.2812 0.6875 +1 0.2812 0.7188 +1 0.2812 0.75 +1 0.2812 0.7812 +1 0.2812 0.8125 +1 0.2812 0.8438 +1 0.2812 0.875 +1 0.2812 0.9062 +1 0.2812 0.9375 +1 0.2812 0.9688 +1 0.2812 1 +1 0.3125 0 +1 0.3125 0.03125 +1 0.3125 0.0625 +1 0.3125 0.09375 +1 0.3125 0.125 +1 0.3125 0.1562 +1 0.3125 0.1875 +1 0.3125 0.2188 +1 0.3125 0.25 +1 0.3125 0.2812 +1 0.3125 0.3125 +1 0.3125 0.3438 +1 0.3125 0.375 +1 0.3125 0.4062 +1 0.3125 0.4375 +1 0.3125 0.4688 +1 0.3125 0.5 +1 0.3125 0.5312 +1 0.3125 0.5625 +1 0.3125 0.5938 +1 0.3125 0.625 +1 0.3125 0.6562 +1 0.3125 0.6875 +1 0.3125 0.7188 +1 0.3125 0.75 +1 0.3125 0.7812 +1 0.3125 0.8125 +1 0.3125 0.8438 +1 0.3125 0.875 +1 0.3125 0.9062 +1 0.3125 0.9375 +1 0.3125 0.9688 +1 0.3125 1 +1 0.3438 0 +1 0.3438 0.03125 +1 0.3438 0.0625 +1 0.3438 0.09375 +1 0.3438 0.125 +1 0.3438 0.1562 +1 0.3438 0.1875 +1 0.3438 0.2188 +1 0.3438 0.25 +1 0.3438 0.2812 +1 0.3438 0.3125 +1 0.3438 0.3438 +1 0.3438 0.375 +1 0.3438 0.4062 +1 0.3438 0.4375 +1 0.3438 0.4688 +1 0.3438 0.5 +1 0.3438 0.5312 +1 0.3438 0.5625 +1 0.3438 0.5938 +1 0.3438 0.625 +1 0.3438 0.6562 +1 0.3438 0.6875 +1 0.3438 0.7188 +1 0.3438 0.75 +1 0.3438 0.7812 +1 0.3438 0.8125 +1 0.3438 0.8438 +1 0.3438 0.875 +1 0.3438 0.9062 +1 0.3438 0.9375 +1 0.3438 0.9688 +1 0.3438 1 +1 0.375 0 +1 0.375 0.03125 +1 0.375 0.0625 +1 0.375 0.09375 +1 0.375 0.125 +1 0.375 0.1562 +1 0.375 0.1875 +1 0.375 0.2188 +1 0.375 0.25 +1 0.375 0.2812 +1 0.375 0.3125 +1 0.375 0.3438 +1 0.375 0.375 +1 0.375 0.4062 +1 0.375 0.4375 +1 0.375 0.4688 +1 0.375 0.5 +1 0.375 0.5312 +1 0.375 0.5625 +1 0.375 0.5938 +1 0.375 0.625 +1 0.375 0.6562 +1 0.375 0.6875 +1 0.375 0.7188 +1 0.375 0.75 +1 0.375 0.7812 +1 0.375 0.8125 +1 0.375 0.8438 +1 0.375 0.875 +1 0.375 0.9062 +1 0.375 0.9375 +1 0.375 0.9688 +1 0.375 1 +1 0.4062 0 +1 0.4062 0.03125 +1 0.4062 0.0625 +1 0.4062 0.09375 +1 0.4062 0.125 +1 0.4062 0.1562 +1 0.4062 0.1875 +1 0.4062 0.2188 +1 0.4062 0.25 +1 0.4062 0.2812 +1 0.4062 0.3125 +1 0.4062 0.3438 +1 0.4062 0.375 +1 0.4062 0.4062 +1 0.4062 0.4375 +1 0.4062 0.4688 +1 0.4062 0.5 +1 0.4062 0.5312 +1 0.4062 0.5625 +1 0.4062 0.5938 +1 0.4062 0.625 +1 0.4062 0.6562 +1 0.4062 0.6875 +1 0.4062 0.7188 +1 0.4062 0.75 +1 0.4062 0.7812 +1 0.4062 0.8125 +1 0.4062 0.8438 +1 0.4062 0.875 +1 0.4062 0.9062 +1 0.4062 0.9375 +1 0.4062 0.9688 +1 0.4062 1 +1 0.4375 0 +1 0.4375 0.03125 +1 0.4375 0.0625 +1 0.4375 0.09375 +1 0.4375 0.125 +1 0.4375 0.1562 +1 0.4375 0.1875 +1 0.4375 0.2188 +1 0.4375 0.25 +1 0.4375 0.2812 +1 0.4375 0.3125 +1 0.4375 0.3438 +1 0.4375 0.375 +1 0.4375 0.4062 +1 0.4375 0.4375 +1 0.4375 0.4688 +1 0.4375 0.5 +1 0.4375 0.5312 +1 0.4375 0.5625 +1 0.4375 0.5938 +1 0.4375 0.625 +1 0.4375 0.6562 +1 0.4375 0.6875 +1 0.4375 0.7188 +1 0.4375 0.75 +1 0.4375 0.7812 +1 0.4375 0.8125 +1 0.4375 0.8438 +1 0.4375 0.875 +1 0.4375 0.9062 +1 0.4375 0.9375 +1 0.4375 0.9688 +1 0.4375 1 +1 0.4688 0 +1 0.4688 0.03125 +1 0.4688 0.0625 +1 0.4688 0.09375 +1 0.4688 0.125 +1 0.4688 0.1562 +1 0.4688 0.1875 +1 0.4688 0.2188 +1 0.4688 0.25 +1 0.4688 0.2812 +1 0.4688 0.3125 +1 0.4688 0.3438 +1 0.4688 0.375 +1 0.4688 0.4062 +1 0.4688 0.4375 +1 0.4688 0.4688 +1 0.4688 0.5 +1 0.4688 0.5312 +1 0.4688 0.5625 +1 0.4688 0.5938 +1 0.4688 0.625 +1 0.4688 0.6562 +1 0.4688 0.6875 +1 0.4688 0.7188 +1 0.4688 0.75 +1 0.4688 0.7812 +1 0.4688 0.8125 +1 0.4688 0.8438 +1 0.4688 0.875 +1 0.4688 0.9062 +1 0.4688 0.9375 +1 0.4688 0.9688 +1 0.4688 1 +1 0.5 0 +1 0.5 0.03125 +1 0.5 0.0625 +1 0.5 0.09375 +1 0.5 0.125 +1 0.5 0.1562 +1 0.5 0.1875 +1 0.5 0.2188 +1 0.5 0.25 +1 0.5 0.2812 +1 0.5 0.3125 +1 0.5 0.3438 +1 0.5 0.375 +1 0.5 0.4062 +1 0.5 0.4375 +1 0.5 0.4688 +1 0.5 0.5 +1 0.5 0.5312 +1 0.5 0.5625 +1 0.5 0.5938 +1 0.5 0.625 +1 0.5 0.6562 +1 0.5 0.6875 +1 0.5 0.7188 +1 0.5 0.75 +1 0.5 0.7812 +1 0.5 0.8125 +1 0.5 0.8438 +1 0.5 0.875 +1 0.5 0.9062 +1 0.5 0.9375 +1 0.5 0.9688 +1 0.5 1 +1 0.5312 0 +1 0.5312 0.03125 +1 0.5312 0.0625 +1 0.5312 0.09375 +1 0.5312 0.125 +1 0.5312 0.1562 +1 0.5312 0.1875 +1 0.5312 0.2188 +1 0.5312 0.25 +1 0.5312 0.2812 +1 0.5312 0.3125 +1 0.5312 0.3438 +1 0.5312 0.375 +1 0.5312 0.4062 +1 0.5312 0.4375 +1 0.5312 0.4688 +1 0.5312 0.5 +1 0.5312 0.5312 +1 0.5312 0.5625 +1 0.5312 0.5938 +1 0.5312 0.625 +1 0.5312 0.6562 +1 0.5312 0.6875 +1 0.5312 0.7188 +1 0.5312 0.75 +1 0.5312 0.7812 +1 0.5312 0.8125 +1 0.5312 0.8438 +1 0.5312 0.875 +1 0.5312 0.9062 +1 0.5312 0.9375 +1 0.5312 0.9688 +1 0.5312 1 +1 0.5625 0 +1 0.5625 0.03125 +1 0.5625 0.0625 +1 0.5625 0.09375 +1 0.5625 0.125 +1 0.5625 0.1562 +1 0.5625 0.1875 +1 0.5625 0.2188 +1 0.5625 0.25 +1 0.5625 0.2812 +1 0.5625 0.3125 +1 0.5625 0.3438 +1 0.5625 0.375 +1 0.5625 0.4062 +1 0.5625 0.4375 +1 0.5625 0.4688 +1 0.5625 0.5 +1 0.5625 0.5312 +1 0.5625 0.5625 +1 0.5625 0.5938 +1 0.5625 0.625 +1 0.5625 0.6562 +1 0.5625 0.6875 +1 0.5625 0.7188 +1 0.5625 0.75 +1 0.5625 0.7812 +1 0.5625 0.8125 +1 0.5625 0.8438 +1 0.5625 0.875 +1 0.5625 0.9062 +1 0.5625 0.9375 +1 0.5625 0.9688 +1 0.5625 1 +1 0.5938 0 +1 0.5938 0.03125 +1 0.5938 0.0625 +1 0.5938 0.09375 +1 0.5938 0.125 +1 0.5938 0.1562 +1 0.5938 0.1875 +1 0.5938 0.2188 +1 0.5938 0.25 +1 0.5938 0.2812 +1 0.5938 0.3125 +1 0.5938 0.3438 +1 0.5938 0.375 +1 0.5938 0.4062 +1 0.5938 0.4375 +1 0.5938 0.4688 +1 0.5938 0.5 +1 0.5938 0.5312 +1 0.5938 0.5625 +1 0.5938 0.5938 +1 0.5938 0.625 +1 0.5938 0.6562 +1 0.5938 0.6875 +1 0.5938 0.7188 +1 0.5938 0.75 +1 0.5938 0.7812 +1 0.5938 0.8125 +1 0.5938 0.8438 +1 0.5938 0.875 +1 0.5938 0.9062 +1 0.5938 0.9375 +1 0.5938 0.9688 +1 0.5938 1 +1 0.625 0 +1 0.625 0.03125 +1 0.625 0.0625 +1 0.625 0.09375 +1 0.625 0.125 +1 0.625 0.1562 +1 0.625 0.1875 +1 0.625 0.2188 +1 0.625 0.25 +1 0.625 0.2812 +1 0.625 0.3125 +1 0.625 0.3438 +1 0.625 0.375 +1 0.625 0.4062 +1 0.625 0.4375 +1 0.625 0.4688 +1 0.625 0.5 +1 0.625 0.5312 +1 0.625 0.5625 +1 0.625 0.5938 +1 0.625 0.625 +1 0.625 0.6562 +1 0.625 0.6875 +1 0.625 0.7188 +1 0.625 0.75 +1 0.625 0.7812 +1 0.625 0.8125 +1 0.625 0.8438 +1 0.625 0.875 +1 0.625 0.9062 +1 0.625 0.9375 +1 0.625 0.9688 +1 0.625 1 +1 0.6562 0 +1 0.6562 0.03125 +1 0.6562 0.0625 +1 0.6562 0.09375 +1 0.6562 0.125 +1 0.6562 0.1562 +1 0.6562 0.1875 +1 0.6562 0.2188 +1 0.6562 0.25 +1 0.6562 0.2812 +1 0.6562 0.3125 +1 0.6562 0.3438 +1 0.6562 0.375 +1 0.6562 0.4062 +1 0.6562 0.4375 +1 0.6562 0.4688 +1 0.6562 0.5 +1 0.6562 0.5312 +1 0.6562 0.5625 +1 0.6562 0.5938 +1 0.6562 0.625 +1 0.6562 0.6562 +1 0.6562 0.6875 +1 0.6562 0.7188 +1 0.6562 0.75 +1 0.6562 0.7812 +1 0.6562 0.8125 +1 0.6562 0.8438 +1 0.6562 0.875 +1 0.6562 0.9062 +1 0.6562 0.9375 +1 0.6562 0.9688 +1 0.6562 1 +1 0.6875 0 +1 0.6875 0.03125 +1 0.6875 0.0625 +1 0.6875 0.09375 +1 0.6875 0.125 +1 0.6875 0.1562 +1 0.6875 0.1875 +1 0.6875 0.2188 +1 0.6875 0.25 +1 0.6875 0.2812 +1 0.6875 0.3125 +1 0.6875 0.3438 +1 0.6875 0.375 +1 0.6875 0.4062 +1 0.6875 0.4375 +1 0.6875 0.4688 +1 0.6875 0.5 +1 0.6875 0.5312 +1 0.6875 0.5625 +1 0.6875 0.5938 +1 0.6875 0.625 +1 0.6875 0.6562 +1 0.6875 0.6875 +1 0.6875 0.7188 +1 0.6875 0.75 +1 0.6875 0.7812 +1 0.6875 0.8125 +1 0.6875 0.8438 +1 0.6875 0.875 +1 0.6875 0.9062 +1 0.6875 0.9375 +1 0.6875 0.9688 +1 0.6875 1 +1 0.7188 0 +1 0.7188 0.03125 +1 0.7188 0.0625 +1 0.7188 0.09375 +1 0.7188 0.125 +1 0.7188 0.1562 +1 0.7188 0.1875 +1 0.7188 0.2188 +1 0.7188 0.25 +1 0.7188 0.2812 +1 0.7188 0.3125 +1 0.7188 0.3438 +1 0.7188 0.375 +1 0.7188 0.4062 +1 0.7188 0.4375 +1 0.7188 0.4688 +1 0.7188 0.5 +1 0.7188 0.5312 +1 0.7188 0.5625 +1 0.7188 0.5938 +1 0.7188 0.625 +1 0.7188 0.6562 +1 0.7188 0.6875 +1 0.7188 0.7188 +1 0.7188 0.75 +1 0.7188 0.7812 +1 0.7188 0.8125 +1 0.7188 0.8438 +1 0.7188 0.875 +1 0.7188 0.9062 +1 0.7188 0.9375 +1 0.7188 0.9688 +1 0.7188 1 +1 0.75 0 +1 0.75 0.03125 +1 0.75 0.0625 +1 0.75 0.09375 +1 0.75 0.125 +1 0.75 0.1562 +1 0.75 0.1875 +1 0.75 0.2188 +1 0.75 0.25 +1 0.75 0.2812 +1 0.75 0.3125 +1 0.75 0.3438 +1 0.75 0.375 +1 0.75 0.4062 +1 0.75 0.4375 +1 0.75 0.4688 +1 0.75 0.5 +1 0.75 0.5312 +1 0.75 0.5625 +1 0.75 0.5938 +1 0.75 0.625 +1 0.75 0.6562 +1 0.75 0.6875 +1 0.75 0.7188 +1 0.75 0.75 +1 0.75 0.7812 +1 0.75 0.8125 +1 0.75 0.8438 +1 0.75 0.875 +1 0.75 0.9062 +1 0.75 0.9375 +1 0.75 0.9688 +1 0.75 1 +1 0.7812 0 +1 0.7812 0.03125 +1 0.7812 0.0625 +1 0.7812 0.09375 +1 0.7812 0.125 +1 0.7812 0.1562 +1 0.7812 0.1875 +1 0.7812 0.2188 +1 0.7812 0.25 +1 0.7812 0.2812 +1 0.7812 0.3125 +1 0.7812 0.3438 +1 0.7812 0.375 +1 0.7812 0.4062 +1 0.7812 0.4375 +1 0.7812 0.4688 +1 0.7812 0.5 +1 0.7812 0.5312 +1 0.7812 0.5625 +1 0.7812 0.5938 +1 0.7812 0.625 +1 0.7812 0.6562 +1 0.7812 0.6875 +1 0.7812 0.7188 +1 0.7812 0.75 +1 0.7812 0.7812 +1 0.7812 0.8125 +1 0.7812 0.8438 +1 0.7812 0.875 +1 0.7812 0.9062 +1 0.7812 0.9375 +1 0.7812 0.9688 +1 0.7812 1 +1 0.8125 0 +1 0.8125 0.03125 +1 0.8125 0.0625 +1 0.8125 0.09375 +1 0.8125 0.125 +1 0.8125 0.1562 +1 0.8125 0.1875 +1 0.8125 0.2188 +1 0.8125 0.25 +1 0.8125 0.2812 +1 0.8125 0.3125 +1 0.8125 0.3438 +1 0.8125 0.375 +1 0.8125 0.4062 +1 0.8125 0.4375 +1 0.8125 0.4688 +1 0.8125 0.5 +1 0.8125 0.5312 +1 0.8125 0.5625 +1 0.8125 0.5938 +1 0.8125 0.625 +1 0.8125 0.6562 +1 0.8125 0.6875 +1 0.8125 0.7188 +1 0.8125 0.75 +1 0.8125 0.7812 +1 0.8125 0.8125 +1 0.8125 0.8438 +1 0.8125 0.875 +1 0.8125 0.9062 +1 0.8125 0.9375 +1 0.8125 0.9688 +1 0.8125 1 +1 0.8438 0 +1 0.8438 0.03125 +1 0.8438 0.0625 +1 0.8438 0.09375 +1 0.8438 0.125 +1 0.8438 0.1562 +1 0.8438 0.1875 +1 0.8438 0.2188 +1 0.8438 0.25 +1 0.8438 0.2812 +1 0.8438 0.3125 +1 0.8438 0.3438 +1 0.8438 0.375 +1 0.8438 0.4062 +1 0.8438 0.4375 +1 0.8438 0.4688 +1 0.8438 0.5 +1 0.8438 0.5312 +1 0.8438 0.5625 +1 0.8438 0.5938 +1 0.8438 0.625 +1 0.8438 0.6562 +1 0.8438 0.6875 +1 0.8438 0.7188 +1 0.8438 0.75 +1 0.8438 0.7812 +1 0.8438 0.8125 +1 0.8438 0.8438 +1 0.8438 0.875 +1 0.8438 0.9062 +1 0.8438 0.9375 +1 0.8438 0.9688 +1 0.8438 1 +1 0.875 0 +1 0.875 0.03125 +1 0.875 0.0625 +1 0.875 0.09375 +1 0.875 0.125 +1 0.875 0.1562 +1 0.875 0.1875 +1 0.875 0.2188 +1 0.875 0.25 +1 0.875 0.2812 +1 0.875 0.3125 +1 0.875 0.3438 +1 0.875 0.375 +1 0.875 0.4062 +1 0.875 0.4375 +1 0.875 0.4688 +1 0.875 0.5 +1 0.875 0.5312 +1 0.875 0.5625 +1 0.875 0.5938 +1 0.875 0.625 +1 0.875 0.6562 +1 0.875 0.6875 +1 0.875 0.7188 +1 0.875 0.75 +1 0.875 0.7812 +1 0.875 0.8125 +1 0.875 0.8438 +1 0.875 0.875 +1 0.875 0.9062 +1 0.875 0.9375 +1 0.875 0.9688 +1 0.875 1 +1 0.9062 0 +1 0.9062 0.03125 +1 0.9062 0.0625 +1 0.9062 0.09375 +1 0.9062 0.125 +1 0.9062 0.1562 +1 0.9062 0.1875 +1 0.9062 0.2188 +1 0.9062 0.25 +1 0.9062 0.2812 +1 0.9062 0.3125 +1 0.9062 0.3438 +1 0.9062 0.375 +1 0.9062 0.4062 +1 0.9062 0.4375 +1 0.9062 0.4688 +1 0.9062 0.5 +1 0.9062 0.5312 +1 0.9062 0.5625 +1 0.9062 0.5938 +1 0.9062 0.625 +1 0.9062 0.6562 +1 0.9062 0.6875 +1 0.9062 0.7188 +1 0.9062 0.75 +1 0.9062 0.7812 +1 0.9062 0.8125 +1 0.9062 0.8438 +1 0.9062 0.875 +1 0.9062 0.9062 +1 0.9062 0.9375 +1 0.9062 0.9688 +1 0.9062 1 +1 0.9375 0 +1 0.9375 0.03125 +1 0.9375 0.0625 +1 0.9375 0.09375 +1 0.9375 0.125 +1 0.9375 0.1562 +1 0.9375 0.1875 +1 0.9375 0.2188 +1 0.9375 0.25 +1 0.9375 0.2812 +1 0.9375 0.3125 +1 0.9375 0.3438 +1 0.9375 0.375 +1 0.9375 0.4062 +1 0.9375 0.4375 +1 0.9375 0.4688 +1 0.9375 0.5 +1 0.9375 0.5312 +1 0.9375 0.5625 +1 0.9375 0.5938 +1 0.9375 0.625 +1 0.9375 0.6562 +1 0.9375 0.6875 +1 0.9375 0.7188 +1 0.9375 0.75 +1 0.9375 0.7812 +1 0.9375 0.8125 +1 0.9375 0.8438 +1 0.9375 0.875 +1 0.9375 0.9062 +1 0.9375 0.9375 +1 0.9375 0.9688 +1 0.9375 1 +1 0.9688 0 +1 0.9688 0.03125 +1 0.9688 0.0625 +1 0.9688 0.09375 +1 0.9688 0.125 +1 0.9688 0.1562 +1 0.9688 0.1875 +1 0.9688 0.2188 +1 0.9688 0.25 +1 0.9688 0.2812 +1 0.9688 0.3125 +1 0.9688 0.3438 +1 0.9688 0.375 +1 0.9688 0.4062 +1 0.9688 0.4375 +1 0.9688 0.4688 +1 0.9688 0.5 +1 0.9688 0.5312 +1 0.9688 0.5625 +1 0.9688 0.5938 +1 0.9688 0.625 +1 0.9688 0.6562 +1 0.9688 0.6875 +1 0.9688 0.7188 +1 0.9688 0.75 +1 0.9688 0.7812 +1 0.9688 0.8125 +1 0.9688 0.8438 +1 0.9688 0.875 +1 0.9688 0.9062 +1 0.9688 0.9375 +1 0.9688 0.9688 +1 0.9688 1 +1 1 0 +1 1 0.03125 +1 1 0.0625 +1 1 0.09375 +1 1 0.125 +1 1 0.1562 +1 1 0.1875 +1 1 0.2188 +1 1 0.25 +1 1 0.2812 +1 1 0.3125 +1 1 0.3438 +1 1 0.375 +1 1 0.4062 +1 1 0.4375 +1 1 0.4688 +1 1 0.5 +1 1 0.5312 +1 1 0.5625 +1 1 0.5938 +1 1 0.625 +1 1 0.6562 +1 1 0.6875 +1 1 0.7188 +1 1 0.75 +1 1 0.7812 +1 1 0.8125 +1 1 0.8438 +1 1 0.875 +1 1 0.9062 +1 1 0.9375 +1 1 0.9688 +1 1 1 + + + + + Output Scaling - only used for full-range signals + 0.06256109481915934 + 0.91886608015640270 + 0. + 1. + + diff --git a/tests/data/files/clf/smpte_only/illegal/id_bad_value.clf b/tests/data/files/clf/smpte_only/illegal/id_bad_value.clf new file mode 100644 index 0000000000..fa425160e9 --- /dev/null +++ b/tests/data/files/clf/smpte_only/illegal/id_bad_value.clf @@ -0,0 +1,25 @@ + + + 3bae2da8 + The Id element does not adhere to the ST 2136-1 formatting. + CIE-XYZ D65 to CIELAB L*, a*, b* (scaled by 1/100, neutrals at 0.0 chroma) + CIE-XYZ, D65 white (scaled [0,1]) + CIELAB L*, a*, b* (scaled by 1/100, neutrals at 0.0 chroma) + + + 1.052126639 0.000000000 0.000000000 + 0.000000000 1.000000000 0.000000000 + 0.000000000 0.000000000 0.918224951 + + + + + + + + 0.00000000 1.00000000 0.00000000 + 4.31034483 -4.31034483 0.00000000 + 0.00000000 1.72413793 -1.72413793 + + + diff --git a/tests/data/files/clf/smpte_only/illegal/process_list_higher_ns_version.clf b/tests/data/files/clf/smpte_only/illegal/process_list_higher_ns_version.clf new file mode 100644 index 0000000000..eeea9dc8c6 --- /dev/null +++ b/tests/data/files/clf/smpte_only/illegal/process_list_higher_ns_version.clf @@ -0,0 +1,11 @@ + + + The xmlns is newer than the max supported version. + + + 3.24000 -1.53700 -0.49850 +-0.96930 1.87600 0.04156 + 0.05560 -0.20400 1.05730 + + + \ No newline at end of file diff --git a/tests/data/files/clf/smpte_only/namespaces.clf b/tests/data/files/clf/smpte_only/namespaces.clf new file mode 100644 index 0000000000..54670bb8f7 --- /dev/null +++ b/tests/data/files/clf/smpte_only/namespaces.clf @@ -0,0 +1,14 @@ + + + + Example CLF file using namespaces. + + + A tiny 2-sample RGB LUT1D. + 0 0 0 1 1 1 + + diff --git a/tests/data/files/clf/tabulation_support.clf b/tests/data/files/clf/tabulation_support.clf index 0411ece76f..4d0c566d42 100644 --- a/tests/data/files/clf/tabulation_support.clf +++ b/tests/data/files/clf/tabulation_support.clf @@ -1,5 +1,5 @@ - + Test that tabs work as separators diff --git a/tests/data/files/clf/xyz_to_rgb.clf b/tests/data/files/clf/xyz_to_rgb.clf index 14cf13ddbc..dbe21b44c1 100644 --- a/tests/data/files/clf/xyz_to_rgb.clf +++ b/tests/data/files/clf/xyz_to_rgb.clf @@ -1,5 +1,5 @@ - + Example with a Matrix and Lut1D XYZ to sRGB matrix diff --git a/tests/data/files/process_list_conflicting_versions.ctf b/tests/data/files/process_list_conflicting_versions.ctf new file mode 100644 index 0000000000..820cf40430 --- /dev/null +++ b/tests/data/files/process_list_conflicting_versions.ctf @@ -0,0 +1,12 @@ + + + Not allowed to use the CLF / ST 2136-1 namespace in a CTF file. + + XYZ to sRGB matrix + + 3.24000 -1.53700 -0.49850 +-0.96930 1.87600 0.04156 + 0.05560 -0.20400 1.05730 + + + diff --git a/tests/data/files/reference_nested_2.ctf b/tests/data/files/reference_nested_2.ctf index b045d2e1d3..8bf9ba9e49 100644 --- a/tests/data/files/reference_nested_2.ctf +++ b/tests/data/files/reference_nested_2.ctf @@ -1,5 +1,5 @@ - + diff --git a/tests/data/files/reference_one_matrix.ctf b/tests/data/files/reference_one_matrix.ctf index de574c1399..4512d084bf 100644 --- a/tests/data/files/reference_one_matrix.ctf +++ b/tests/data/files/reference_one_matrix.ctf @@ -1,5 +1,5 @@ - + diff --git a/tests/data/files/references_same_twice.ctf b/tests/data/files/references_same_twice.ctf index 25b9036d02..29e2a666b9 100644 --- a/tests/data/files/references_same_twice.ctf +++ b/tests/data/files/references_same_twice.ctf @@ -1,5 +1,5 @@ - - + + diff --git a/tests/gpu/CMakeLists.txt b/tests/gpu/CMakeLists.txt index 5f1c0379cf..4344cbfa26 100644 --- a/tests/gpu/CMakeLists.txt +++ b/tests/gpu/CMakeLists.txt @@ -48,16 +48,20 @@ endif() # Note: To avoid changing PATH from outside the cmake files. if(MSVC AND BUILD_SHARED_LIBS) + # Build time list of runtime dll dirs for the exe target. + set(dll_dirs_expr "$,;>") - if (MSVC_IDE) - # Note: By default Microsoft Visual Studio editor happens the build type to the build directory. - set(BUILD_TYPE ${CMAKE_BUILD_TYPE}) - endif() + # Add folders for glut and glew DLLs. + set(extra_dirs "${GLUT_INCLUDE_DIR}/../bin\\;${GLEW_INCLUDE_DIRS}/../bin\\") - set(NEW_PATH "${PROJECT_BINARY_DIR}/src/OpenColorIO/${BUILD_TYPE}") - set(NEW_PATH "${NEW_PATH}\\\;${GLUT_INCLUDE_DIR}/../bin") - set(NEW_PATH "${NEW_PATH}\\\;${GLEW_INCLUDE_DIRS}/../bin") - - set_tests_properties(test_gpu PROPERTIES ENVIRONMENT PATH=${NEW_PATH}) + # Tell CTest to use this PATH while launching test_gpu_exec + set_tests_properties(test_gpu PROPERTIES + ENVIRONMENT "PATH=${dll_dirs_expr}\\;${extra_dirs}" + ) + # Also set the debugger environment so that you can launch + # test_gpu_exec directly within Visual Studio. + set_property(TARGET test_gpu_exec PROPERTY + VS_DEBUGGER_ENVIRONMENT "PATH=${dll_dirs_expr};${extra_dirs};%PATH%" + ) endif() diff --git a/tests/gpu/FixedFunctionOp_test.cpp b/tests/gpu/FixedFunctionOp_test.cpp index 6c3879d858..1daca3a77a 100644 --- a/tests/gpu/FixedFunctionOp_test.cpp +++ b/tests/gpu/FixedFunctionOp_test.cpp @@ -303,7 +303,7 @@ OCIO_ADD_GPU_TEST(FixedFunction, style_aces_gamutcomp13_inv) }; test.setCustomValues(values); - test.setErrorThreshold(3e-6f); + test.setErrorThreshold(3e-5f); } OCIO_ADD_GPU_TEST(FixedFunction, style_aces2_output_transform_fwd) @@ -656,7 +656,7 @@ OCIO_ADD_GPU_TEST(FixedFunction, style_aces2_4000nit_p3_rndtrip) test.setCustomValues(values); // TODO: Investigate why this is not closer. - test.setErrorThreshold(0.018f); + test.setErrorThreshold(0.019f); } OCIO_ADD_GPU_TEST(FixedFunction, style_aces2_4000nit_p3_inv) @@ -693,7 +693,7 @@ OCIO_ADD_GPU_TEST(FixedFunction, style_aces2_4000nit_rec2020_rndtrip) test.setCustomValues(values); // TODO: Investigate why this is not closer. - test.setErrorThreshold(0.03f); + test.setErrorThreshold(0.032f); } OCIO_ADD_GPU_TEST(FixedFunction, style_aces2_4000nit_rec2020_inv) diff --git a/tests/gpu/GPUUnitTest.cpp b/tests/gpu/GPUUnitTest.cpp index 6508131218..252ba43b55 100644 --- a/tests/gpu/GPUUnitTest.cpp +++ b/tests/gpu/GPUUnitTest.cpp @@ -19,6 +19,9 @@ #if __APPLE__ #include "metalapp.h" #endif +#ifdef OCIO_VULKAN_ENABLED +#include "vulkanapp.h" +#endif namespace OCIO = OCIO_NAMESPACE; @@ -164,6 +167,16 @@ OCIO::GpuShaderDescRcPtr & OCIOGPUTest::getShaderDesc() m_shaderDesc = OCIO::GpuShaderDesc::CreateShaderDesc(); m_shaderDesc->setLanguage(m_gpuShadingLanguage); m_shaderDesc->setPixelName("myPixel"); + + // Vulkan doesn't support 1D textures well on all platforms (e.g., MoltenVK/macOS) + // Force 2D textures for Vulkan to ensure compatibility + if (m_gpuShadingLanguage == OCIO::GPU_LANGUAGE_GLSL_VK_4_6) + { + m_shaderDesc->setAllowTexture1D(false); + // Set texture binding start to 3 since bindings 1 and 2 are used for + // input/output storage buffers in the Vulkan compute shader + m_shaderDesc->setDescriptorSetIndex(0, 3); + } } return m_shaderDesc; } @@ -202,6 +215,16 @@ namespace app->initImage(g_winWidth, g_winHeight, OCIO::OglApp::COMPONENTS_RGBA, &image[0]); } +#ifdef OCIO_VULKAN_ENABLED + void AllocateImageTexture(OCIO::VulkanAppRcPtr & app) + { + const unsigned numEntries = g_winWidth * g_winHeight * g_components; + OCIOGPUTest::CustomValues::Values image(numEntries, 0.0f); + + app->initImage(g_winWidth, g_winHeight, OCIO::VulkanApp::COMPONENTS_RGBA, &image[0]); + } +#endif + void SetTestValue(float * image, float val, unsigned numComponents) { for (unsigned component = 0; component < numComponents; ++component) @@ -214,7 +237,9 @@ namespace } } - void UpdateImageTexture(OCIO::OglAppRcPtr & app, OCIOGPUTestRcPtr & test) + // Shared helper to prepare input values for GPU testing. + // Returns a pointer to the prepared input values that should be uploaded to the GPU. + const float * PrepareInputValues(OCIOGPUTestRcPtr & test, bool testNaN, bool testInfinity) { // Note: User-specified custom values are padded out // to the preferred size (g_winWidth x g_winHeight). @@ -225,17 +250,6 @@ namespace { // It means to generate the input values. - -#if __APPLE__ && __aarch64__ - // The Apple M1 chip handles differently the Nan and Inf processing introducing - // differences with CPU processing. - const bool testNaN = false; - const bool testInfinity = false; -#else - const bool testNaN = test->getTestNaN(); - const bool testInfinity = test->getTestInfinity(); -#endif - float min = 0.0f; float max = 1.0f; if(test->getTestWideRange()) @@ -325,9 +339,43 @@ namespace throw OCIO::Exception("Missing some expected input values"); } - app->updateImage(&values.m_inputValues[0]); + return &values.m_inputValues[0]; } + void UpdateImageTexture(OCIO::OglAppRcPtr & app, OCIOGPUTestRcPtr & test) + { +#if __APPLE__ && __aarch64__ + // The Apple M1 chip handles differently the Nan and Inf processing introducing + // differences with CPU processing. + const bool testNaN = false; + const bool testInfinity = false; +#else + const bool testNaN = test->getTestNaN(); + const bool testInfinity = test->getTestInfinity(); +#endif + + const float * inputValues = PrepareInputValues(test, testNaN, testInfinity); + app->updateImage(inputValues); + } + +#ifdef OCIO_VULKAN_ENABLED + void UpdateImageTexture(OCIO::VulkanAppRcPtr & app, OCIOGPUTestRcPtr & test) + { +#if __APPLE__ && __aarch64__ + // The Apple M1 chip handles differently the Nan and Inf processing introducing + // differences with CPU processing. + const bool testNaN = false; + const bool testInfinity = false; +#else + const bool testNaN = test->getTestNaN(); + const bool testInfinity = test->getTestInfinity(); +#endif + + const float * inputValues = PrepareInputValues(test, testNaN, testInfinity); + app->updateImage(inputValues); + } +#endif + void UpdateOCIOGLState(OCIO::OglAppRcPtr & app, OCIOGPUTestRcPtr & test) { app->setPrintShader(test->isVerbose()); @@ -352,6 +400,32 @@ namespace app->setShader(shaderDesc); } +#ifdef OCIO_VULKAN_ENABLED + void UpdateOCIOVulkanState(OCIO::VulkanAppRcPtr & app, OCIOGPUTestRcPtr & test) + { + app->setPrintShader(test->isVerbose()); + + OCIO::ConstProcessorRcPtr & processor = test->getProcessor(); + OCIO::GpuShaderDescRcPtr & shaderDesc = test->getShaderDesc(); + + OCIO::ConstGPUProcessorRcPtr gpu; + if (test->isLegacyShader()) + { + gpu = processor->getOptimizedLegacyGPUProcessor(OCIO::OPTIMIZATION_DEFAULT, + test->getLegacyShaderLutEdge()); + } + else + { + gpu = processor->getDefaultGPUProcessor(); + } + + // Collect the shader program information for a specific processor. + gpu->extractGpuShaderInfo(shaderDesc); + + app->setShader(shaderDesc); + } +#endif + void DiffComponent(const std::vector & cpuImage, const std::vector & gpuImage, size_t idx, bool relativeTest, float expectMin, @@ -384,55 +458,18 @@ namespace constexpr size_t invalidIndex = std::numeric_limits::max(); - // Validate the GPU processing against the CPU one. - void ValidateImageTexture(OCIO::OglAppRcPtr & app, OCIOGPUTestRcPtr & test) + // Shared helper to validate GPU processing against CPU. + // The gpuImage parameter should already contain the GPU output. + void ValidateResults(OCIOGPUTestRcPtr & test, + const OCIOGPUTest::CustomValues::Values & cpuImage, + const OCIOGPUTest::CustomValues::Values & gpuImage, + size_t width, size_t height) { - // Each retest is rebuilding a cpu proc. - OCIO::ConstCPUProcessorRcPtr processor = test->getProcessor()->getDefaultCPUProcessor(); - const float epsilon = test->getErrorThreshold(); const float expectMinValue = test->getExpectedMinimalValue(); - - // Compute the width & height to avoid testing the padded values. - - const size_t numPixels = test->getCustomValues().m_originalInputValueSize / g_components; - - size_t width, height = 0; - if(numPixels<=g_winWidth) - { - width = numPixels; - height = 1; - } - else - { - width = g_winWidth; - height = numPixels/g_winWidth; - if((numPixels%g_winWidth)>0) height += 1; - } - - if(width==0 || width>g_winWidth || height==0 || height>g_winHeight) - { - throw OCIO::Exception("Mismatch with the expected image size"); - } - - // Step 1: Compute the output using the CPU engine. - - OCIOGPUTest::CustomValues::Values cpuImage = test->getCustomValues().m_inputValues; - OCIO::PackedImageDesc desc(&cpuImage[0], (long)width, (long)height, g_components); - processor->apply(desc); - - // Step 2: Grab the GPU output from the rendering buffer. - - OCIOGPUTest::CustomValues::Values gpuImage(g_winWidth*g_winHeight*g_components, 0.0f); - app->readImage(&gpuImage[0]); - - // Step 3: Compare the two results. - const OCIOGPUTest::CustomValues::Values & image = test->getCustomValues().m_inputValues; + float diff = 0.0f; - // Initialize these to a known reference value, if any of the four component checks - // below fail, it will be set to the index of the last failure. Only the last failure - // is printed below. size_t idxDiff = invalidIndex; size_t idxNan = invalidIndex; size_t idxInf = invalidIndex; @@ -440,6 +477,7 @@ namespace float minVals[4] = {huge, huge, huge, huge}; float maxVals[4] = {-huge, -huge, -huge, -huge}; const bool relativeTest = test->getRelativeComparison(); + for(size_t idx=0; idx<(width*height); ++idx) { for(size_t chan=0; chan<4; ++chan) @@ -524,6 +562,62 @@ namespace test->updateMaxDiff(diff, idxDiff); } } + + // Shared helper to validate GPU processing against CPU. + // Template function to work with both OglApp and VulkanApp. + template + void ValidateImageTextureImpl(AppType & app, OCIOGPUTestRcPtr & test) + { + // Each retest is rebuilding a cpu proc. + OCIO::ConstCPUProcessorRcPtr processor = test->getProcessor()->getDefaultCPUProcessor(); + + // Compute the width & height to avoid testing the padded values. + const size_t numPixels = test->getCustomValues().m_originalInputValueSize / g_components; + + size_t width, height = 0; + if(numPixels<=g_winWidth) + { + width = numPixels; + height = 1; + } + else + { + width = g_winWidth; + height = numPixels/g_winWidth; + if((numPixels%g_winWidth)>0) height += 1; + } + + if(width==0 || width>g_winWidth || height==0 || height>g_winHeight) + { + throw OCIO::Exception("Mismatch with the expected image size"); + } + + // Step 1: Compute the output using the CPU engine. + OCIOGPUTest::CustomValues::Values cpuImage = test->getCustomValues().m_inputValues; + OCIO::PackedImageDesc desc(&cpuImage[0], (long)width, (long)height, g_components); + processor->apply(desc); + + // Step 2: Grab the GPU output from the rendering buffer. + OCIOGPUTest::CustomValues::Values gpuImage(g_winWidth*g_winHeight*g_components, 0.0f); + app->readImage(&gpuImage[0]); + + // Step 3: Compare the two results. + ValidateResults(test, cpuImage, gpuImage, width, height); + } + + // Validate the GPU processing against the CPU one. + void ValidateImageTexture(OCIO::OglAppRcPtr & app, OCIOGPUTestRcPtr & test) + { + ValidateImageTextureImpl(app, test); + } + +#ifdef OCIO_VULKAN_ENABLED + // Validate the GPU processing against the CPU one for Vulkan. + void ValidateImageTexture(OCIO::VulkanAppRcPtr & app, OCIOGPUTestRcPtr & test) + { + ValidateImageTextureImpl(app, test); + } +#endif }; int main(int argc, const char ** argv) @@ -536,6 +630,7 @@ int main(int argc, const char ** argv) bool printHelp = false; bool useMetalRenderer = false; + bool useVulkanRenderer = false; bool verbose = false; bool stopOnFirstError = false; @@ -546,6 +641,7 @@ int main(int argc, const char ** argv) ap.options("\nCommand line arguments:\n", "--help", &printHelp, "Print help message", "--metal", &useMetalRenderer, "Run the GPU unit test with Metal", + "--vulkan", &useVulkanRenderer, "Run the GPU unit test with Vulkan", "-v", &verbose, "Output the GPU shader program", "--stop_on_error", &stopOnFirstError, "Stop on the first error", "--run_only %s", &filter, "Run only some unit tests\n" @@ -589,6 +685,9 @@ int main(int argc, const char ** argv) // Step 1: Initialize the graphic library engines. OCIO::OglAppRcPtr app; +#ifdef OCIO_VULKAN_ENABLED + OCIO::VulkanAppRcPtr vulkanApp; +#endif try { @@ -599,6 +698,16 @@ int main(int argc, const char ** argv) #else std::cerr << std::endl << "'GPU tests - Metal' is not supported" << std::endl; return 1; +#endif + } + else if(useVulkanRenderer) + { +#ifdef OCIO_VULKAN_ENABLED + vulkanApp = OCIO::VulkanApp::CreateVulkanApp(g_winWidth, g_winHeight); + vulkanApp->printVulkanInfo(); +#else + std::cerr << std::endl << "'GPU tests - Vulkan' is not supported (OCIO_VULKAN_ENABLED not defined)" << std::endl; + return 1; #endif } else @@ -611,16 +720,34 @@ int main(int argc, const char ** argv) std::cerr << std::endl << e.what() << std::endl; return 1; } + catch (const std::exception & e) + { + std::cerr << std::endl << e.what() << std::endl; + return 1; + } - app->printGLInfo(); + if (!useVulkanRenderer) + { + app->printGLInfo(); + } // Step 2: Allocate the texture that holds the image. - AllocateImageTexture(app); +#ifdef OCIO_VULKAN_ENABLED + if (useVulkanRenderer) + { + AllocateImageTexture(vulkanApp); + vulkanApp->reshape(g_winWidth, g_winHeight); + } + else +#endif + { + AllocateImageTexture(app); - // Step 3: Create the frame buffer and render buffer. - app->createGLBuffers(); + // Step 3: Create the frame buffer and render buffer. + app->createGLBuffers(); - app->reshape(g_winWidth, g_winHeight); + app->reshape(g_winWidth, g_winHeight); + } // Step 4: Execute all the unit tests. @@ -661,12 +788,18 @@ int main(int argc, const char ** argv) // Prepare the unit test. test->setVerbose(verbose); - test->setShadingLanguage( + OCIO::GpuLanguage gpuLang = OCIO::GPU_LANGUAGE_GLSL_1_2; #if __APPLE__ - useMetalRenderer ? - OCIO::GPU_LANGUAGE_MSL_2_0 : + if (useMetalRenderer) + { + gpuLang = OCIO::GPU_LANGUAGE_MSL_2_0; + } #endif - OCIO::GPU_LANGUAGE_GLSL_1_2); + if (useVulkanRenderer) + { + gpuLang = OCIO::GPU_LANGUAGE_GLSL_VK_4_6; + } + test->setShadingLanguage(gpuLang); bool enabledTest = true; try @@ -693,28 +826,59 @@ int main(int argc, const char ** argv) if(test->isValid() && enabledTest) { - // Initialize the texture with the RGBA values to be processed. - UpdateImageTexture(app, test); +#ifdef OCIO_VULKAN_ENABLED + if (useVulkanRenderer) + { + // Initialize the texture with the RGBA values to be processed. + UpdateImageTexture(vulkanApp, test); - // Update the GPU shader program. - UpdateOCIOGLState(app, test); + // Update the GPU shader program. + UpdateOCIOVulkanState(vulkanApp, test); - const size_t numRetest = test->getNumRetests(); - // Need to run once and for each retest. - for (size_t idxRetest = 0; idxRetest <= numRetest; ++idxRetest) - { - if (idxRetest != 0) // Skip first run. + const size_t numRetest = test->getNumRetests(); + // Need to run once and for each retest. + for (size_t idxRetest = 0; idxRetest <= numRetest; ++idxRetest) { - // Call the retest callback. - test->retestSetup(idxRetest - 1); + if (idxRetest != 0) // Skip first run. + { + // Call the retest callback. + test->retestSetup(idxRetest - 1); + } + + // Process the image texture into the rendering buffer. + vulkanApp->redisplay(); + + // Compute the expected values using the CPU and compare + // against the GPU values. + ValidateImageTexture(vulkanApp, test); } + } + else +#endif + { + // Initialize the texture with the RGBA values to be processed. + UpdateImageTexture(app, test); - // Process the image texture into the rendering buffer. - app->redisplay(); + // Update the GPU shader program. + UpdateOCIOGLState(app, test); - // Compute the expected values using the CPU and compare - // against the GPU values. - ValidateImageTexture(app, test); + const size_t numRetest = test->getNumRetests(); + // Need to run once and for each retest. + for (size_t idxRetest = 0; idxRetest <= numRetest; ++idxRetest) + { + if (idxRetest != 0) // Skip first run. + { + // Call the retest callback. + test->retestSetup(idxRetest - 1); + } + + // Process the image texture into the rendering buffer. + app->redisplay(); + + // Compute the expected values using the CPU and compare + // against the GPU values. + ValidateImageTexture(app, test); + } } } } @@ -723,10 +887,15 @@ int main(int argc, const char ** argv) ++failures; std::cerr << "FAILED - " << ex.what() << std::endl; } + catch(const std::exception & ex) + { + ++failures; + std::cerr << "FAILED - std::exception: " << ex.what() << std::endl; + } catch(...) { ++failures; - std::cerr << "FAILED - Unexpected error" << std::endl; + std::cerr << "FAILED - Unexpected error (unknown exception type)" << std::endl; } if (!enabledTest) diff --git a/tests/python/ConstantsTest.py b/tests/python/ConstantsTest.py index 852d6a9072..489e52f326 100644 --- a/tests/python/ConstantsTest.py +++ b/tests/python/ConstantsTest.py @@ -47,6 +47,7 @@ def test_string_constants(self): self.assertEqual(OCIO.METADATA_OUTPUT_DESCRIPTOR, 'OutputDescriptor') self.assertEqual(OCIO.METADATA_NAME, 'name') self.assertEqual(OCIO.METADATA_ID, 'id') + self.assertEqual(OCIO.METADATA_ID_ELEMENT, 'Id') # FileRules. self.assertEqual(OCIO.DEFAULT_RULE_NAME, 'Default') diff --git a/tests/python/GradingDataTest.py b/tests/python/GradingDataTest.py index 39cd8ba5cc..34abd89fff 100644 --- a/tests/python/GradingDataTest.py +++ b/tests/python/GradingDataTest.py @@ -368,6 +368,29 @@ def test_huecurve(self): assertEqualBSpline(self, hcrv.lum_sat, ls) self.assertEqual(hcrv.lum_sat, ls) + # Check that setting the hue curve preserves the spline type. + hcrv.hue_sat = ls + ls2 = hcrv.hue_sat + # Spline type is now different than what hue_sat normally uses (PERIODIC_1_B_SPLINE). + self.assertEqual(ls2.getSplineType(), OCIO.HORIZONTAL1_B_SPLINE) + self.assertEqual(hcrv.hue_sat, ls) + self.assertEqual(ls2, ls) + + # Check that setting the hue curve preserves the slopes. + self.assertEqual(ls.slopesAreDefault(), True) + slopes = ls.getSlopes() + slopes[1] = 0.5 + ls.setSlopes(slopes) + self.assertEqual(ls.slopesAreDefault(), False) + hcrv.hue_sat = ls + ls2 = hcrv.hue_sat + self.assertEqual(ls2.slopesAreDefault(), False) + slopes2 = ls2.getSlopes() + self.assertEqual(slopes2[1], 0.5) + self.assertEqual(slopes2, slopes) + self.assertEqual(hcrv.hue_sat, ls) + self.assertEqual(ls2, ls) + def test_rgbmsw(self): """ Test the GradingRGBMSW struct. diff --git a/tests/python/GroupTransformTest.py b/tests/python/GroupTransformTest.py index 0b4e47da68..cf3820cb32 100644 --- a/tests/python/GroupTransformTest.py +++ b/tests/python/GroupTransformTest.py @@ -162,7 +162,7 @@ def test_write_clf(self): self.assertEqual(grp.write(formatName='Academy/ASC Common LUT Format', config=config), """ - + Sample clf file. Sample matrix. diff --git a/tests/python/ProcessorTest.py b/tests/python/ProcessorTest.py index 2a989333e6..59ee32df2d 100644 --- a/tests/python/ProcessorTest.py +++ b/tests/python/ProcessorTest.py @@ -50,7 +50,7 @@ def test_cache_id(self): # Make the transform dynamic. ec.makeContrastDynamic() p = cfg.getProcessor(ec) - self.assertEqual(p.getCacheID(), '818420192074e6466468d59c9ea38667') + self.assertEqual(p.getCacheID(), '6468d59c-9ea3-8667-8184-20192074e646') def test_create_group_transform(self): # Test createGroupTransform() function. diff --git a/tests/testutils/UnitTest.h b/tests/testutils/UnitTest.h index f4bb339ee4..c66781e660 100644 --- a/tests/testutils/UnitTest.h +++ b/tests/testutils/UnitTest.h @@ -63,8 +63,6 @@ typedef std::vector UnitTests; UnitTests & GetUnitTests(); -extern int unit_test_failures; - struct AddTest { explicit AddTest(const OCIOTestRcPtr & test) @@ -132,6 +130,9 @@ int UnitTestMain(int argc, const char ** argv); #define OCIO_CHECK_EQUAL(x,y) OCIO_CHECK_EQUAL_FROM(x,y,__LINE__) +#define OCIO_CHECK_EQUAL_STR(x,y) \ + OCIO_CHECK_EQUAL_FROM(std::string_view((x)), std::string_view((y)),__LINE__) + // When using OCIO_CHECK_EQUAL in an helper method used by one or more // unit tests, the error message indicates the helper method line number // and not the unit test line number.