diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..38b8e44 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,60 @@ +name: CI + +on: + workflow_dispatch: + push: + +env: + CMAKE_BUILD_PARALLEL_LEVEL: 3 # Use up to 3 cpus to build juceaide, etc + +concurrency: + group: ${{ github.workflow }}.${{ github.ref }} + cancel-in-progress: true + +defaults: + run: + shell: bash + +permissions: + contents: read + +jobs: + + BuildAndTest: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + timeout-minutes: 10 + + strategy: + fail-fast: false + matrix: + include: + - name: macOS + os: macos-latest + binary: dummy.app/Contents/MacOS/dummy & + - name: Windows + os: windows-latest + binary: ./Debug/dummy.exe & + + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 1 + + - name: Configure + run: cmake -B Builds + + - name: Build + run: cmake --build Builds --parallel 4 + + - name: Run + working-directory: Builds/dummy_artefacts + timeout-minutes: 1 + run: | + ls -ahl + ${{ matrix.binary }} + + - uses: OrbitalOwen/desktop-screenshot-action@0.1 + with: + file-name: ${{ matrix.name }}.jpg diff --git a/Assets/dogfood-off.png b/Assets/dogfood-off.png new file mode 100644 index 0000000..ecc63d7 Binary files /dev/null and b/Assets/dogfood-off.png differ diff --git a/Assets/dogfood-on.png b/Assets/dogfood-on.png new file mode 100644 index 0000000..f23e443 Binary files /dev/null and b/Assets/dogfood-on.png differ diff --git a/Assets/enabled-off.png b/Assets/enabled-off.png new file mode 100644 index 0000000..4a707eb Binary files /dev/null and b/Assets/enabled-off.png differ diff --git a/Assets/enabled-on.png b/Assets/enabled-on.png new file mode 100644 index 0000000..f971f61 Binary files /dev/null and b/Assets/enabled-on.png differ diff --git a/Assets/expand-off.png b/Assets/expand-off.png new file mode 100644 index 0000000..8744854 Binary files /dev/null and b/Assets/expand-off.png differ diff --git a/Assets/expand-on.png b/Assets/expand-on.png new file mode 100644 index 0000000..14be595 Binary files /dev/null and b/Assets/expand-on.png differ diff --git a/Assets/timing-off.png b/Assets/timing-off.png new file mode 100644 index 0000000..0ad6b55 Binary files /dev/null and b/Assets/timing-off.png differ diff --git a/Assets/timing-on.png b/Assets/timing-on.png new file mode 100644 index 0000000..6b18fd1 Binary files /dev/null and b/Assets/timing-on.png differ diff --git a/CMakeLists.txt b/CMakeLists.txt index 5632e88..d7f629b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,25 +1,62 @@ -cmake_minimum_required (VERSION 3.20) +cmake_minimum_required(VERSION 3.20) -project (MelatoninInspector VERSION 1.3.0 LANGUAGES CXX - DESCRIPTION "JUCE module for inspecting Components" - HOMEPAGE_URL "https://github.com/sudara/melatonin_inspector") +project(MelatoninInspector VERSION 1.3.0 LANGUAGES CXX + DESCRIPTION "JUCE module for inspecting Components" + HOMEPAGE_URL "https://github.com/sudara/melatonin_inspector") + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED YES) + +include(FetchContent) +if (MelatoninInspector_IS_TOP_LEVEL) + message(STATUS "Cloning JUCE...") + + FetchContent_Declare(JUCE + GIT_REPOSITORY https://github.com/juce-framework/JUCE.git + GIT_TAG origin/master + GIT_SHALLOW TRUE + GIT_PROGRESS TRUE + FIND_PACKAGE_ARGS 7.0.6) + + FetchContent_MakeAvailable(JUCE) + + juce_add_gui_app (dummy VERSION 1.0.0) + target_sources(dummy PRIVATE tests/dummy.cpp) + set_target_properties(dummy PROPERTIES COMPILE_WARNING_AS_ERROR ON) +endif () if (NOT COMMAND juce_add_module) message(FATAL_ERROR "JUCE must be added to your project before melatonin_inspector!") endif () -set (CMAKE_CXX_STANDARD 17) -set (CMAKE_CXX_STANDARD_REQUIRED YES) - # this makes the assumption the current directory is named melatonin_inspector -juce_add_module ("${CMAKE_CURRENT_LIST_DIR}") - +juce_add_module("${CMAKE_CURRENT_LIST_DIR}") add_library(Melatonin::Inspector ALIAS melatonin_inspector) +if (MelatoninInspector_IS_TOP_LEVEL) + target_link_libraries(dummy PRIVATE melatonin_inspector + juce::juce_recommended_config_flags + juce::juce_recommended_lto_flags + juce::juce_recommended_warning_flags) +endif () + # Assets are precompiled in the module to make it Projucer friendly -# Uncomment these lines to generate the assets again (then copy over from the build folder) +# +# TODO: We need to automate this. +# +# To work with CMake Assets: +# * Uncomment the following lines to generate the assets again +# * Delete everything in "LatestCompliedAssets" folder so there's no conflict +# * Comment out the manual includes in melatonin_inspector.cpp + +# When ready to commit: +# * Comment out these lines again +# * Move the new binary .cpp from your build folder to LatestCompiledAssets +# * Move the latest InspectorBinaryData.h to the main module folder +# (for me the files are in cmake-build-debug/modules/melatonin_inspector/juce_binarydata_MelatoninInspector +# * Add the .cpp includes manually to melatonin_inspector.cpp -# file(GLOB_RECURSE MelatoninInspectorAssetFiles CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/Assets/*") -# juce_add_binary_data(MelatoninInspectorAssets SOURCES ${MelatoninInspectorAssetFiles} HEADER_NAME InspectorBinaryData.h NAMESPACE InspectorBinaryData) -# set_target_properties(MelatoninInspectorAssets PROPERTIES POSITION_INDEPENDENT_CODE TRUE) -# target_link_libraries(melatonin_inspector INTERFACE MelatoninInspectorAssets) +#file(GLOB_RECURSE MelatoninInspectorAssetFiles CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/Assets/*") +#juce_add_binary_data(MelatoninInspectorAssets SOURCES ${MelatoninInspectorAssetFiles} HEADER_NAME InspectorBinaryData.h NAMESPACE InspectorBinaryData) +#set_target_properties(MelatoninInspectorAssets PROPERTIES POSITION_INDEPENDENT_CODE TRUE) +#target_link_libraries(melatonin_inspector INTERFACE MelatoninInspectorAssets) diff --git a/InspectorBinaryData.h b/InspectorBinaryData.h new file mode 100644 index 0000000..aa3dd44 --- /dev/null +++ b/InspectorBinaryData.h @@ -0,0 +1,69 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#pragma once + +namespace InspectorBinaryData +{ + extern const char* _DS_Store; + const int _DS_StoreSize = 6148; + + extern const char* clear_png; + const int clear_pngSize = 1419; + + extern const char* dogfoodoff_png; + const int dogfoodoff_pngSize = 481; + + extern const char* dogfoodon_png; + const int dogfoodon_pngSize = 894; + + extern const char* enabledoff_png; + const int enabledoff_pngSize = 1031; + + extern const char* enabledon_png; + const int enabledon_pngSize = 1017; + + extern const char* expandoff_png; + const int expandoff_pngSize = 301; + + extern const char* expandon_png; + const int expandon_pngSize = 303; + + extern const char* eyedropperoff_png; + const int eyedropperoff_pngSize = 673; + + extern const char* eyedropperon_png; + const int eyedropperon_pngSize = 671; + + extern const char* logo_png; + const int logo_pngSize = 25781; + + extern const char* search_png; + const int search_pngSize = 941; + + extern const char* timingoff_png; + const int timingoff_pngSize = 850; + + extern const char* timingon_png; + const int timingon_pngSize = 867; + + // Number of elements in the namedResourceList and originalFileNames arrays. + const int namedResourceListSize = 14; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Points to the start of a list of resource filenames. + extern const char* originalFilenames[]; + + // If you provide the name of one of the binary resource variables above, this function will + // return the corresponding data and its size (or a null pointer if the name isn't found). + const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes); + + // If you provide the name of one of the binary resource variables above, this function will + // return the corresponding original, non-mangled filename (or a null pointer if the name isn't found). + const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); +} diff --git a/LatestCompiledAssets/BinaryData1.cpp b/LatestCompiledAssets/BinaryData1.cpp index 64af063..22720f9 100644 --- a/LatestCompiledAssets/BinaryData1.cpp +++ b/LatestCompiledAssets/BinaryData1.cpp @@ -19,17 +19,17 @@ static const unsigned char temp_binary_data_0[] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,9,0,67,0,108,0,101,0,97,0,114,0,46,0,112,0,110,0,103,112,116,98,76,117,115,116,114,0,0,0,89,0,83,0,121,0,115,0,116,0,101,0,109,0,47,0,86,0,111,0,108,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,9,0,99,0,108,0,101,0,97,0,114,0,46,0,112,0,110,0,103,112,116,98,76,117,115,116,114,0,0,0,89,0,83,0,121,0,115,0,116,0,101,0,109,0,47,0,86,0,111,0,108,0, 117,0,109,0,101,0,115,0,47,0,68,0,97,0,116,0,97,0,47,0,85,0,115,0,101,0,114,0,115,0,47,0,115,0,117,0,100,0,97,0,114,0,97,0,47,0,112,0,114,0,111,0,106,0,101,0,99,0,116,0,115,0,47,0,115,0,105,0,110,0,101,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,47,0,109, -0,111,0,100,0,117,0,108,0,101,0,115,0,47,0,109,0,101,0,108,0,97,0,116,0,111,0,110,0,105,0,110,0,95,0,105,0,110,0,115,0,112,0,101,0,99,0,116,0,111,0,114,0,47,0,65,0,115,0,115,0,101,0,116,0,115,0,47,0,0,0,9,0,67,0,108,0,101,0,97,0,114,0,46,0,112,0,110, -0,103,112,116,98,78,117,115,116,114,0,0,0,10,0,83,0,101,0,97,0,114,0,99,0,104,0,46,0,112,0,110,0,103,0,0,0,8,0,76,0,111,0,103,0,111,0,46,0,112,0,110,0,103,112,116,98,76,117,115,116,114,0,0,0,89,0,83,0,121,0,115,0,116,0,101,0,109,0,47,0,86,0,111,0,108, +0,111,0,100,0,117,0,108,0,101,0,115,0,47,0,109,0,101,0,108,0,97,0,116,0,111,0,110,0,105,0,110,0,95,0,105,0,110,0,115,0,112,0,101,0,99,0,116,0,111,0,114,0,47,0,65,0,115,0,115,0,101,0,116,0,115,0,47,0,0,0,9,0,99,0,108,0,101,0,97,0,114,0,46,0,112,0,110, +0,103,112,116,98,78,117,115,116,114,0,0,0,10,0,83,0,101,0,97,0,114,0,99,0,104,0,46,0,112,0,110,0,103,0,0,0,8,0,108,0,111,0,103,0,111,0,46,0,112,0,110,0,103,112,116,98,76,117,115,116,114,0,0,0,89,0,83,0,121,0,115,0,116,0,101,0,109,0,47,0,86,0,111,0,108, 0,117,0,109,0,101,0,115,0,47,0,68,0,97,0,116,0,97,0,47,0,85,0,115,0,101,0,114,0,115,0,47,0,115,0,117,0,100,0,97,0,114,0,97,0,47,0,112,0,114,0,111,0,106,0,101,0,99,0,116,0,115,0,47,0,115,0,105,0,110,0,101,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,47,0, -109,0,111,0,100,0,117,0,108,0,101,0,115,0,47,0,109,0,101,0,108,0,97,0,116,0,111,0,110,0,105,0,110,0,95,0,105,0,110,0,115,0,112,0,101,0,99,0,116,0,111,0,114,0,47,0,65,0,115,0,115,0,101,0,116,0,115,0,47,0,0,0,8,0,76,0,111,0,103,0,111,0,46,0,112,0,110,0, -103,112,116,98,78,117,115,116,114,0,0,0,8,0,76,0,111,0,103,0,111,0,46,0,112,0,110,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +109,0,111,0,100,0,117,0,108,0,101,0,115,0,47,0,109,0,101,0,108,0,97,0,116,0,111,0,110,0,105,0,110,0,95,0,105,0,110,0,115,0,112,0,101,0,99,0,116,0,111,0,114,0,47,0,65,0,115,0,115,0,101,0,116,0,115,0,47,0,0,0,8,0,108,0,111,0,103,0,111,0,46,0,112,0,110, +0,103,112,116,98,78,117,115,116,114,0,0,0,8,0,76,0,111,0,103,0,111,0,46,0,112,0,110,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,8,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -37,15 +37,15 @@ static const unsigned char temp_binary_data_0[] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,1,0,0,0,64,0,0,0,1,0,0,0,128,0,0,0,1,0,0,1, -0,0,0,0,1,0,0,2,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,1,0,0,16,0,0,0,0,1,0,0,32,0,0,0,0,1,0,0,64,0,0,0,0,1,0,0,128,0,0,0,0,1,0,1,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,4,0,0,0,0,0,1,0,8,0,0,0,0,0,1,0,16,0,0,0,0,0,1,0,32,0,0,0,0,0,1,0,64,0,0,0,0,0,1,0,128,0,0,0,0,0, -1,1,0,0,0,0,0,0,1,2,0,0,0,0,0,0,1,4,0,0,0,0,0,0,1,8,0,0,0,0,0,0,1,16,0,0,0,0,0,0,1,32,0,0,0,0,0,0,1,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,1,0,0,0,64,0,0,0,1,0,0,0,128,0,0,0,1,0,0, +1,0,0,0,0,1,0,0,2,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,1,0,0,16,0,0,0,0,1,0,0,32,0,0,0,0,1,0,0,64,0,0,0,0,1,0,0,128,0,0,0,0,1,0,1,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,4,0,0,0,0,0,1,0,8,0,0,0,0,0,1,0,16,0,0,0,0,0,1,0,32,0,0,0,0,0,1,0,64,0,0,0,0,0,1,0,128,0,0,0,0, +0,1,1,0,0,0,0,0,0,1,2,0,0,0,0,0,0,1,4,0,0,0,0,0,0,1,8,0,0,0,0,0,0,1,16,0,0,0,0,0,0,1,32,0,0,0,0,0,0,1,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,16,11,0,0,0,69,0,0,4,10,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,16,11,0,0,0,69,0,0,4,10,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -54,21 +54,21 @@ static const unsigned char temp_binary_data_0[] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,1,4,68,83,68,66,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,32,0,0,0,96,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,1,0,0,1,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,32,0,0,0,0,1,0,0,64,0,0,0,0,1,0,0,128,0,0, -0,0,1,0,1,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,4,0,0,0,0,0,1,0,8,0,0,0,0,0,1,0,16,0,0,0,0,0,1,0,32,0,0,0,0,0,1,0,64,0,0,0,0,0,1,0,128,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,0,0,0,0,0,0,1,4,0,0,0,0,0,0,1,8,0,0,0,0,0,0,1,16,0,0,0,0,0,0,1,32,0,0,0,0,0,0,1,64,0,0,0,0,0, +0,0,0,0,0,1,4,68,83,68,66,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,32,0,0,0,96,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,1,0,0,1,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,32,0,0,0,0,1,0,0,64,0,0,0,0,1,0,0,128,0, +0,0,0,1,0,1,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,4,0,0,0,0,0,1,0,8,0,0,0,0,0,1,0,16,0,0,0,0,0,1,0,32,0,0,0,0,0,1,0,64,0,0,0,0,0,1,0,128,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,0,0,0,0,0,0,1,4,0,0,0,0,0,0,1,8,0,0,0,0,0,0,1,16,0,0,0,0,0,0,1,32,0,0,0,0,0,0,1,64,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; const char* _DS_Store = (const char*) temp_binary_data_0; } -#include "InspectorBinaryData.h" +#include "melatonin_inspector/InspectorBinaryData.h" namespace InspectorBinaryData { @@ -85,11 +85,19 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) switch (hash) { case 0x6abebe70: numBytes = 6148; return _DS_Store; - case 0x2bb6c917: numBytes = 1419; return Clear_png; - case 0xff6fb41c: numBytes = 673; return Eyedropperoff_png; - case 0x950e4ea6: numBytes = 671; return Eyedropperon_png; - case 0x7cb93db5: numBytes = 25781; return Logo_png; - case 0x4c7e0f32: numBytes = 941; return Search_png; + case 0xb444a937: numBytes = 1419; return clear_png; + case 0x7e314a7f: numBytes = 481; return dogfoodoff_png; + case 0x805edfe3: numBytes = 894; return dogfoodon_png; + case 0x4846b8f8: numBytes = 1031; return enabledoff_png; + case 0x4d153e4a: numBytes = 1017; return enabledon_png; + case 0x55e29f7f: numBytes = 301; return expandoff_png; + case 0xf2aeeae3: numBytes = 303; return expandon_png; + case 0x14ab743c: numBytes = 673; return eyedropperoff_png; + case 0xc74a0a86: numBytes = 671; return eyedropperon_png; + case 0x78ded995: numBytes = 25781; return logo_png; + case 0xd5ac3312: numBytes = 941; return search_png; + case 0xf76847cf: numBytes = 850; return timingoff_png; + case 0x10aaf893: numBytes = 867; return timingon_png; default: break; } @@ -100,21 +108,37 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) const char* namedResourceList[] = { "_DS_Store", - "Clear_png", - "Eyedropperoff_png", - "Eyedropperon_png", - "Logo_png", - "Search_png" + "clear_png", + "dogfoodoff_png", + "dogfoodon_png", + "enabledoff_png", + "enabledon_png", + "expandoff_png", + "expandon_png", + "eyedropperoff_png", + "eyedropperon_png", + "logo_png", + "search_png", + "timingoff_png", + "timingon_png" }; const char* originalFilenames[] = { ".DS_Store", - "Clear.png", - "Eyedropper-off.png", - "Eyedropper-on.png", - "Logo.png", - "Search.png" + "clear.png", + "dogfood-off.png", + "dogfood-on.png", + "enabled-off.png", + "enabled-on.png", + "expand-off.png", + "expand-on.png", + "eyedropper-off.png", + "eyedropper-on.png", + "logo.png", + "search.png", + "timing-off.png", + "timing-on.png" }; const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); diff --git a/LatestCompiledAssets/BinaryData10.cpp b/LatestCompiledAssets/BinaryData10.cpp new file mode 100644 index 0000000..588a45e --- /dev/null +++ b/LatestCompiledAssets/BinaryData10.cpp @@ -0,0 +1,26 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== eyedropper-on.png ================== +static const unsigned char temp_binary_data_9[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,37,0,0,0,36,8,6,0,0,0,14,194,243,166,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,52,73,68,65,84, +120,1,205,152,65,114,218,64,16,69,127,131,146,176,100,155,114,72,193,13,200,13,200,9,146,156,0,124,2,199,11,227,202,42,98,149,42,219,85,84,78,16,113,130,216,39,48,57,65,184,129,89,224,194,75,22,222,128,197,180,123,6,11,144,1,11,121,132,196,95,104,52, +163,158,154,87,61,211,173,150,8,41,137,135,231,53,40,174,131,80,3,163,12,208,72,238,123,50,214,161,15,77,111,217,150,144,130,4,232,167,44,238,110,182,200,121,152,228,143,169,114,60,50,61,100,14,164,165,26,120,231,255,13,122,59,245,20,15,219,101,168,135, +155,237,39,224,80,111,229,110,61,197,254,215,88,246,57,170,155,6,187,213,151,88,214,204,53,221,236,12,138,111,218,197,96,145,184,114,144,128,12,64,193,175,134,7,165,207,136,171,81,34,80,60,104,87,65,254,181,68,88,17,182,34,234,233,198,106,251,76,116, +105,32,36,0,164,37,137,20,182,80,179,232,74,10,8,191,131,204,110,7,53,118,60,241,121,15,182,210,64,165,230,247,160,107,157,60,205,33,127,107,182,176,26,107,34,161,143,169,186,2,242,151,84,58,233,46,63,178,143,190,2,116,232,23,99,68,154,135,220,180,69, +239,127,244,55,25,216,31,116,126,184,158,189,245,181,104,20,61,9,255,94,2,178,130,90,1,82,220,194,196,169,36,113,198,94,5,181,14,136,74,167,174,41,61,38,206,103,115,94,210,132,218,4,52,55,40,248,71,139,237,76,1,42,10,104,165,118,90,231,49,166,62,146, +130,138,4,186,187,56,10,1,73,109,132,241,155,79,161,51,102,230,132,195,127,157,182,202,83,209,30,186,168,67,41,111,25,40,200,206,38,143,57,99,87,60,212,165,143,167,151,219,172,23,9,101,3,244,90,209,190,1,189,8,149,21,208,70,168,44,129,214,66,101,13,180, +2,181,15,64,90,225,60,181,7,64,90,115,79,241,224,76,106,109,252,127,234,122,116,208,60,204,2,72,107,225,41,149,43,47,238,169,147,21,144,214,162,200,203,135,63,28,121,248,171,44,143,53,144,139,20,129,180,104,6,240,252,39,132,46,214,158,125,16,164,4,100, +86,143,254,43,34,128,10,223,182,121,145,38,37,71,234,235,198,202,40,81,87,174,87,240,165,204,152,222,119,169,226,70,151,185,137,66,41,180,100,19,255,204,71,152,58,116,112,210,64,214,146,116,208,224,219,51,230,193,185,135,61,208,35,16,23,155,102,238,54, +173,252,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* eyedropperon_png = (const char*) temp_binary_data_9; +} diff --git a/LatestCompiledAssets/BinaryData11.cpp b/LatestCompiledAssets/BinaryData11.cpp new file mode 100644 index 0000000..f71a147 --- /dev/null +++ b/LatestCompiledAssets/BinaryData11.cpp @@ -0,0 +1,382 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== logo.png ================== +static const unsigned char temp_binary_data_10[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,118,0,0,0,108,8,6,0,0,0,191,234,70,236,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,100,74,73,68,65, +84,120,1,237,189,91,144,157,215,117,30,184,247,254,175,231,218,55,52,128,110,54,65,16,4,33,170,155,148,108,193,148,100,199,54,219,54,237,216,241,37,78,42,205,41,37,85,153,169,74,149,93,165,202,84,230,105,94,1,60,204,67,166,230,105,106,204,170,209,195, +212,164,230,65,25,64,185,141,149,40,78,16,171,17,57,178,101,11,150,45,17,109,154,132,72,64,4,187,1,52,186,79,119,159,251,127,217,123,190,111,237,255,52,154,87,145,18,237,154,139,126,242,160,207,253,242,175,189,214,250,214,183,46,91,171,191,130,195,57, +167,249,247,210,165,75,248,123,65,45,47,43,189,177,161,220,242,13,252,93,81,238,66,245,188,43,184,61,121,13,238,215,120,158,243,15,40,53,143,219,215,212,58,110,172,42,117,99,195,168,149,101,181,176,169,220,248,105,101,212,171,55,213,238,221,179,238,177, +198,45,115,162,117,218,77,63,174,204,55,95,191,105,91,115,103,117,119,71,185,34,188,99,14,58,133,123,236,180,82,221,111,20,174,245,153,179,90,221,194,245,150,114,173,238,45,221,153,9,229,115,15,58,75,248,188,91,106,22,239,113,18,239,209,63,184,133,219, +167,241,154,155,110,183,121,214,61,183,162,204,45,60,222,184,113,218,54,127,70,233,155,124,17,62,251,165,175,239,219,197,214,121,167,86,55,204,194,230,178,83,231,175,171,115,91,231,221,246,13,229,248,59,110,220,184,226,86,86,230,241,25,171,246,194,5, +229,46,93,122,248,59,121,240,190,201,117,62,198,219,90,107,167,62,194,67,171,143,240,152,8,148,7,191,240,197,139,151,212,229,203,203,213,125,107,138,194,229,181,229,27,87,32,224,53,17,244,218,26,158,187,177,206,147,160,22,22,148,62,143,199,175,95,87, +234,167,159,87,250,15,174,42,183,213,217,208,143,173,212,13,95,119,91,157,182,179,59,74,191,122,243,166,154,59,225,133,179,16,39,102,43,27,219,133,211,137,153,217,95,112,163,197,123,70,221,83,106,216,180,110,107,83,169,79,45,46,168,45,252,183,128,255, +110,238,43,87,62,184,103,78,156,240,143,243,245,7,61,163,219,205,19,184,190,37,223,114,166,189,224,238,188,161,212,146,186,35,183,251,83,133,60,175,187,115,218,159,120,124,182,58,171,212,215,126,63,115,88,107,106,121,69,169,14,132,187,245,138,114,11, +231,148,222,90,228,111,132,192,23,134,238,220,86,215,173,66,184,87,170,133,205,151,95,240,171,218,189,240,130,146,223,116,249,178,178,90,243,220,81,176,148,175,118,60,143,63,172,160,63,114,193,250,213,121,73,81,83,177,114,245,229,203,107,118,253,210, +122,176,125,99,149,171,185,210,218,117,253,28,53,17,199,43,11,215,181,130,32,183,22,107,90,221,88,174,78,20,5,10,13,198,227,212,148,123,127,122,75,67,145,84,163,125,90,43,156,244,59,119,252,73,63,246,88,100,30,148,39,108,163,191,37,191,163,214,54,250, +222,61,255,93,234,45,163,91,117,235,186,77,252,237,89,151,14,140,238,54,181,142,108,105,83,220,215,173,105,61,186,237,156,60,103,224,159,203,215,241,229,237,3,235,14,134,70,247,247,172,59,243,49,163,83,124,134,255,196,59,242,255,65,163,112,179,45,8,156, +50,62,123,86,245,230,148,187,187,115,83,171,39,149,218,253,90,230,22,102,134,16,244,121,183,240,57,165,103,102,148,197,218,173,22,47,15,104,177,242,103,104,114,92,188,168,28,46,208,92,109,41,92,17,204,15,41,88,163,62,162,99,162,173,52,43,55,110,44,195, +28,41,17,42,5,125,77,93,179,80,88,117,1,43,119,237,178,95,76,215,20,133,202,235,231,213,204,226,121,8,85,169,217,147,55,53,79,80,188,168,2,17,234,73,47,212,238,61,104,203,45,8,252,96,75,119,166,182,116,99,38,208,75,43,73,144,155,192,28,220,220,210,225, +116,20,20,97,104,76,51,10,18,92,159,93,8,76,25,4,38,223,13,204,148,10,76,122,44,14,187,35,232,197,3,165,120,95,134,251,212,142,82,83,120,142,25,71,1,159,187,183,21,5,20,112,130,219,124,191,254,200,232,218,60,238,195,34,216,192,194,57,22,220,195,123,70, +6,235,74,209,58,156,12,83,211,130,213,232,193,236,247,113,30,119,239,102,78,189,202,223,16,203,111,90,94,85,102,107,75,185,206,213,235,230,11,157,235,208,224,150,252,110,46,118,85,249,162,137,73,118,23,189,57,190,164,28,229,161,39,231,243,168,5,252,176, +199,71,162,177,254,11,104,248,18,103,248,5,105,102,86,174,224,75,95,244,194,92,199,106,165,32,169,165,244,155,203,203,199,241,3,150,213,213,127,122,221,45,158,57,175,63,77,255,5,223,69,13,216,197,201,122,236,244,105,213,217,191,163,169,29,20,226,68,123, +62,117,126,65,141,212,182,217,190,207,79,157,87,234,184,82,233,224,129,238,227,241,193,88,83,59,32,125,92,170,191,131,108,95,143,251,214,181,143,133,70,77,77,41,181,191,175,130,178,101,249,234,65,166,117,61,118,142,207,73,106,70,7,15,112,255,140,255, +61,91,253,29,55,59,59,251,150,223,56,196,251,152,188,180,222,18,204,187,225,129,18,243,77,3,222,110,148,46,124,121,100,139,167,82,19,22,75,246,165,175,43,187,120,102,67,111,190,54,116,231,207,159,135,53,218,208,106,253,190,173,140,148,82,254,138,37,246, +224,149,181,13,10,213,235,240,133,11,23,96,135,47,65,168,23,14,53,246,7,209,222,31,74,176,147,21,165,33,84,231,77,136,7,77,213,187,226,171,57,154,97,10,117,25,166,248,204,243,222,66,124,225,11,215,213,211,63,53,101,8,128,168,165,173,174,247,151,13,128, +154,62,0,77,176,114,47,24,190,122,194,251,192,182,210,253,193,182,126,180,233,53,238,216,49,248,90,8,146,143,149,193,129,169,39,83,110,48,222,215,163,177,209,243,233,180,222,190,183,231,230,79,76,235,131,131,3,21,167,218,131,164,238,195,239,60,55,15, +51,140,219,166,44,45,31,239,118,74,75,193,170,3,165,198,145,117,83,167,166,212,120,132,159,179,167,212,244,52,76,243,192,57,46,152,14,22,74,189,143,251,33,239,0,175,229,162,218,222,44,108,99,184,141,207,56,161,218,53,235,102,32,96,126,134,247,203,167, +213,237,27,10,139,104,67,62,119,225,121,128,44,250,28,28,231,206,157,151,231,173,174,226,241,75,19,199,165,8,21,141,95,248,112,91,27,151,28,132,108,39,231,244,195,10,247,7,54,197,248,137,74,87,2,188,8,77,133,48,245,149,43,254,66,77,93,94,83,250,133,23, +174,152,85,124,201,106,133,2,20,93,87,175,109,41,189,56,130,63,5,2,17,161,18,201,2,149,118,250,161,238,244,3,253,224,216,189,160,251,186,209,69,184,109,120,177,187,15,12,116,83,21,58,48,197,124,96,238,238,29,152,176,17,4,188,80,152,59,189,65,24,229,48, +191,245,153,32,130,22,206,46,204,4,101,191,111,240,176,177,131,192,68,105,91,207,28,15,3,53,12,76,147,247,245,141,137,147,150,14,235,97,48,44,195,160,49,23,135,161,13,3,252,111,28,46,131,221,65,224,180,49,110,198,152,14,254,30,195,27,149,248,155,64,179, +91,243,248,91,215,154,166,187,220,9,204,60,204,127,189,181,160,169,197,7,240,239,252,254,116,255,217,102,98,110,223,2,218,134,43,153,61,185,172,23,102,150,221,245,47,64,191,175,214,4,79,188,242,74,165,80,60,95,203,15,149,107,245,130,42,213,197,107,86, +34,136,101,1,157,154,218,235,207,247,135,51,203,63,176,198,30,249,32,1,117,151,137,242,214,228,203,42,248,81,71,1,227,11,106,174,195,9,80,250,206,206,205,128,190,136,126,72,194,21,132,19,60,1,60,206,172,212,160,165,30,180,208,71,82,59,251,13,250,60,173, +197,164,198,83,46,129,224,18,128,30,106,90,105,250,102,140,219,102,191,180,1,4,151,143,27,110,156,247,241,124,231,166,231,154,122,111,172,92,148,40,61,206,7,58,202,181,206,35,231,146,113,221,141,139,129,110,52,176,80,240,188,48,225,87,199,13,213,87,195, +131,186,109,54,149,234,245,122,112,238,252,70,77,149,197,93,151,142,154,88,152,7,42,141,91,46,131,38,215,18,231,68,139,249,20,252,179,117,199,185,217,74,139,7,0,96,253,131,19,174,209,190,167,251,0,96,52,209,12,187,102,239,21,110,247,123,240,193,56,63, +155,64,208,139,64,208,12,149,32,188,146,231,136,97,222,60,254,82,176,2,62,47,242,4,123,85,38,94,89,89,217,0,184,186,104,213,135,56,62,180,96,15,205,175,22,52,167,1,100,245,149,23,4,213,201,49,137,89,159,123,78,153,237,109,128,7,0,7,198,120,175,108,2, +33,46,42,128,35,255,153,187,93,252,160,25,165,239,192,145,54,176,210,137,104,9,94,122,149,201,157,134,246,196,208,142,33,4,171,224,30,71,219,93,61,130,128,230,230,219,154,154,137,211,175,162,164,175,21,174,140,11,60,167,65,17,53,84,6,65,134,177,183,37, +69,6,225,225,58,226,9,51,234,59,27,198,74,231,120,110,20,186,67,179,86,100,202,197,184,93,111,212,213,160,63,144,251,226,168,238,40,120,10,56,231,2,153,195,235,118,122,206,216,134,156,220,20,190,57,131,128,199,119,113,137,119,221,168,63,13,129,111,187, +102,58,43,239,203,223,48,220,203,75,106,116,88,20,54,206,22,44,99,104,62,118,114,110,195,109,220,240,166,153,224,106,115,243,186,238,116,94,179,107,107,149,86,92,89,147,239,112,5,255,17,124,210,234,241,175,63,231,31,220,28,255,64,26,123,241,162,7,73, +188,62,9,190,121,27,90,42,166,253,204,25,101,94,123,77,89,174,194,107,235,248,17,231,40,212,13,8,53,246,39,28,136,242,0,194,228,245,5,196,153,7,189,123,186,78,161,2,185,78,195,220,110,221,219,215,143,193,193,117,186,61,211,152,134,246,182,154,106,107, +179,167,98,8,118,6,90,214,3,12,109,66,237,108,107,40,159,71,193,41,200,36,140,188,64,243,98,132,191,53,53,28,42,254,81,97,169,116,212,196,154,28,227,121,41,62,63,135,192,75,173,249,183,200,134,174,86,171,249,251,240,122,128,36,91,175,67,184,33,32,170, +171,201,98,8,26,206,246,239,246,85,30,53,92,70,129,183,176,240,172,179,244,227,212,228,49,132,12,119,172,110,151,15,108,13,66,38,14,224,17,109,193,23,35,102,78,23,115,219,63,40,220,137,217,211,238,43,95,185,169,158,68,28,44,40,90,77,4,188,46,238,10,202, +32,225,194,53,2,171,27,18,65,88,196,143,250,34,60,240,135,37,49,194,15,250,196,163,54,222,127,128,123,135,64,231,231,149,166,255,32,56,250,28,66,24,134,51,128,253,162,165,119,119,150,85,11,43,191,65,180,203,147,0,13,61,129,95,125,239,187,247,148,141, +16,150,156,50,186,124,117,87,13,198,199,116,59,8,77,31,102,181,173,218,64,173,3,173,118,250,20,170,138,160,109,182,102,76,88,27,232,145,13,84,182,51,210,209,84,93,135,212,88,188,107,102,181,241,2,170,235,28,171,36,134,160,16,181,202,55,47,15,32,236,52, +85,101,79,185,188,28,155,56,172,105,4,20,54,72,160,229,3,172,128,148,100,133,179,181,90,10,31,171,92,86,88,27,22,163,176,128,214,154,77,120,221,122,160,106,61,109,163,105,191,160,7,248,76,248,105,21,196,3,23,193,92,119,226,125,247,88,112,76,117,199,22, +218,101,221,232,117,231,70,0,106,225,95,22,118,216,92,210,253,27,176,76,75,119,52,136,21,188,190,16,119,244,53,10,247,42,208,243,76,75,45,46,174,187,237,109,128,38,197,88,31,33,17,237,54,148,6,8,106,34,76,134,63,31,88,107,63,176,198,30,245,169,188,121, +148,38,19,34,2,166,100,189,18,172,176,71,138,209,156,82,95,127,73,25,210,120,124,94,134,248,175,191,15,191,3,109,237,193,151,34,76,52,181,134,71,184,131,241,158,8,212,34,54,69,0,161,172,209,38,130,112,233,7,161,160,226,9,123,0,49,97,65,115,58,210,206, +224,186,104,40,36,130,32,200,82,27,149,112,55,38,10,82,55,26,193,239,69,74,135,161,210,5,98,27,101,99,27,70,227,195,239,92,132,90,143,135,177,13,112,95,24,72,208,104,67,8,123,132,23,214,146,196,226,229,242,206,58,177,214,224,49,121,77,68,13,199,194,128, +137,159,225,117,248,236,254,126,215,166,179,77,241,191,113,218,213,198,54,237,65,9,173,79,104,238,119,213,120,175,85,18,92,77,80,244,194,34,60,58,207,193,157,165,146,136,249,6,36,185,66,235,123,131,255,47,151,159,255,252,186,222,126,113,219,173,129,153, +187,116,209,71,22,147,243,126,201,71,68,176,152,250,251,250,219,15,33,88,154,221,139,70,85,209,245,5,255,15,180,245,138,161,127,128,47,80,228,71,9,148,232,79,17,190,169,47,95,37,42,244,159,65,225,6,199,106,1,153,29,154,93,222,39,166,23,190,180,156,53, +102,31,49,38,195,149,65,49,8,34,154,91,60,113,122,86,139,191,220,131,9,166,64,5,173,26,47,64,83,102,65,81,36,46,12,199,58,128,169,45,74,111,134,3,8,172,40,253,103,38,20,134,213,15,127,99,12,205,69,200,18,52,160,201,147,191,5,44,52,23,78,0,186,177,136, +93,17,240,68,142,32,84,191,96,96,121,45,23,10,5,76,97,235,129,179,57,125,50,191,3,204,241,4,148,229,17,180,124,220,117,211,101,195,110,199,60,91,251,234,137,118,203,118,183,75,17,194,8,134,99,27,254,150,215,69,184,237,210,205,192,60,223,190,5,82,3,44, +22,77,51,209,51,181,225,220,57,175,189,244,180,56,183,150,22,17,23,156,95,98,25,109,39,8,65,235,143,68,176,71,137,125,9,164,149,143,193,214,141,248,6,34,95,56,135,22,204,239,151,191,168,220,236,51,42,216,253,253,13,167,158,173,155,54,66,25,210,127,19, +161,30,5,72,124,229,110,175,107,18,196,158,141,190,54,99,8,213,154,129,33,146,229,201,3,149,43,154,153,89,8,50,79,28,85,58,132,240,134,217,88,94,219,78,83,51,30,143,85,0,1,22,208,78,53,246,194,133,125,80,46,209,38,35,200,109,198,42,203,32,212,18,168, +54,192,107,75,127,106,2,92,47,203,177,11,129,134,248,88,12,193,231,163,24,39,127,172,176,144,68,224,42,182,30,184,56,106,241,72,69,208,238,34,79,29,0,176,213,169,181,19,240,53,176,214,38,64,230,201,172,115,249,232,192,101,16,110,154,192,255,66,147,3, +104,112,3,113,238,3,89,12,165,245,136,121,193,205,76,41,199,88,151,97,223,75,227,179,150,22,206,115,205,36,115,142,248,90,8,148,97,17,244,199,86,138,244,125,193,212,7,138,99,39,28,176,100,34,68,87,189,214,210,84,220,184,177,237,174,209,225,3,37,49,187, +241,101,248,12,181,189,33,239,59,123,42,214,20,42,217,163,33,126,12,137,216,20,66,125,4,102,88,52,53,232,154,126,217,15,90,51,51,136,47,97,197,218,3,99,135,3,67,116,75,77,237,34,92,117,117,99,50,8,51,47,106,122,208,133,174,232,177,129,106,152,176,76, +53,194,31,179,223,203,12,222,42,204,35,13,67,110,66,203,235,46,15,84,108,162,2,202,108,112,255,168,128,194,59,255,248,0,127,11,101,162,48,45,194,98,156,7,142,175,25,22,161,45,76,56,42,248,250,60,76,35,19,232,88,7,41,46,49,214,81,49,52,65,128,133,213, +192,247,112,227,186,44,52,103,198,134,207,205,0,174,50,248,91,152,91,51,13,12,97,251,3,51,202,141,110,152,41,57,7,163,251,7,154,177,239,65,134,88,250,1,23,246,9,44,186,5,213,152,242,74,69,139,182,59,23,234,36,185,41,207,223,252,221,235,154,201,144,107, +94,184,134,0,138,202,67,161,242,241,141,141,141,143,198,199,86,154,42,126,117,114,31,194,27,255,129,96,149,200,129,94,189,122,222,126,30,233,170,22,76,240,151,145,141,97,80,46,169,179,111,21,238,83,171,200,190,108,210,167,133,242,197,25,220,183,192,24, +13,199,51,122,148,117,17,147,78,33,140,1,168,106,67,51,33,204,108,111,160,33,124,131,147,28,208,79,26,156,217,162,55,214,9,52,151,166,16,10,109,38,218,233,242,220,68,73,98,134,136,131,32,65,32,139,220,208,199,210,228,66,97,185,164,225,137,35,23,88,133, +184,23,223,63,199,125,17,148,16,143,103,253,92,5,41,238,47,149,179,208,86,203,215,231,185,42,225,80,249,114,216,96,27,227,137,46,119,101,80,243,26,14,12,238,202,220,150,226,123,99,216,230,192,150,30,89,227,189,161,189,72,24,89,3,205,37,46,96,184,212, +25,192,65,52,154,34,144,89,104,45,227,222,61,152,102,147,31,179,237,154,114,253,142,114,51,43,170,202,30,41,152,99,201,12,169,137,73,62,15,164,242,229,173,47,151,207,169,11,102,149,224,31,246,241,98,37,3,90,76,104,172,253,97,5,43,97,205,141,101,1,73, +142,38,152,166,129,40,248,197,23,241,229,102,174,155,69,100,103,102,17,206,28,165,7,201,194,148,88,254,188,77,82,253,177,71,34,65,225,195,148,177,165,49,182,7,146,1,38,151,62,149,90,10,126,206,100,240,165,131,93,168,17,52,129,102,151,207,7,165,20,196, +153,247,173,54,7,242,133,70,137,0,41,63,8,211,208,4,83,144,69,97,76,16,67,242,128,208,144,96,25,32,204,129,48,75,44,4,160,40,235,240,56,5,27,64,144,37,204,176,45,51,23,69,17,99,89,203,251,35,190,63,31,131,176,185,6,8,168,98,2,39,32,55,36,7,236,8,118, +52,164,112,11,15,182,100,161,226,190,49,4,90,7,224,162,144,27,169,179,195,158,181,179,97,221,13,113,255,120,174,175,167,84,195,230,48,201,101,31,239,204,53,195,24,24,113,174,66,254,176,141,48,12,11,201,82,176,254,140,223,68,172,155,185,206,230,208,205, +116,206,91,102,194,152,17,226,35,203,222,28,59,129,203,10,132,197,251,72,239,3,83,138,116,169,43,48,3,68,102,87,4,142,211,252,138,67,23,154,12,217,28,230,160,73,145,202,63,20,234,1,76,48,67,25,102,92,106,45,173,239,13,118,93,71,247,204,254,247,240,148, +55,15,20,5,74,146,135,254,116,148,232,160,63,212,198,13,65,249,133,153,192,99,198,157,49,196,198,235,68,201,176,127,48,145,65,100,65,54,22,48,183,188,24,154,216,2,231,155,143,133,58,8,18,252,235,98,152,88,29,242,177,18,23,195,251,237,56,46,1,141,32,53, +184,79,27,225,31,124,78,18,149,153,70,64,173,35,94,10,92,183,120,220,149,0,227,120,77,152,192,52,243,2,19,61,192,105,4,217,128,247,214,124,111,147,227,243,130,48,213,113,13,238,194,212,196,93,208,68,143,203,113,16,164,38,32,195,101,241,123,162,142,214, +219,8,247,14,184,8,144,76,26,212,61,228,225,121,81,200,49,246,225,190,50,181,101,24,10,82,168,4,81,27,55,152,219,58,175,58,51,62,43,196,168,227,194,133,135,178,184,164,73,34,184,247,149,221,7,210,88,201,54,92,188,32,174,181,130,220,242,166,11,48,189, +52,25,96,80,160,173,55,133,38,108,47,221,9,152,166,62,96,142,20,230,183,86,1,37,242,176,143,226,135,221,3,107,68,162,33,168,15,2,18,13,68,190,93,147,133,121,81,215,41,78,216,96,60,54,52,183,68,185,13,248,81,103,50,131,211,142,180,92,17,148,35,165,211, +90,12,19,12,80,164,11,106,181,161,121,165,246,2,198,32,102,165,150,243,6,80,50,191,100,224,111,51,92,199,59,104,160,33,7,105,58,62,119,18,194,27,104,224,16,38,24,167,217,241,122,192,216,6,178,181,208,90,147,120,51,237,10,87,242,177,4,90,15,43,224,128, +152,28,56,37,209,222,81,15,75,161,142,243,140,208,73,67,71,235,83,137,29,131,229,74,76,90,22,89,223,129,9,117,164,43,85,179,167,8,168,130,178,86,36,176,88,5,180,119,186,210,218,225,193,150,155,121,106,193,169,55,238,168,187,197,200,182,224,115,27,234, +180,221,240,224,73,52,153,0,234,210,67,37,99,54,72,95,212,23,127,72,83,76,224,164,60,100,186,226,203,91,152,111,117,12,191,58,51,202,76,168,66,174,58,194,247,54,168,66,156,0,40,218,3,227,64,218,147,84,37,207,27,129,59,140,242,182,38,72,10,33,220,140, +23,250,213,146,224,132,230,117,108,24,186,36,89,205,140,32,208,26,156,85,97,251,1,129,15,77,108,9,180,11,115,105,156,152,92,184,24,24,84,107,240,89,153,16,20,176,237,145,207,250,80,192,16,164,49,88,147,120,222,8,82,142,241,60,120,57,8,15,66,197,109,107, +66,57,97,33,254,203,117,1,180,237,68,152,33,62,0,86,211,226,123,184,8,130,84,161,200,17,166,26,64,0,127,211,36,2,223,28,150,52,227,161,142,32,220,72,4,12,83,107,45,240,118,1,132,92,194,36,151,58,41,35,64,181,134,77,237,176,134,88,216,82,184,212,136,125, +155,15,27,101,125,224,253,246,12,204,205,168,74,242,179,170,35,190,53,6,253,200,240,231,44,194,159,235,146,246,123,237,170,178,158,135,151,240,7,73,123,229,142,148,215,232,119,243,181,31,136,121,162,80,9,187,175,200,210,129,166,118,174,35,94,61,47,241, +42,239,146,234,1,100,107,58,251,71,64,22,204,76,109,58,210,3,34,6,164,188,92,27,48,6,104,145,225,76,141,194,212,130,108,2,34,74,152,73,164,80,106,58,135,227,133,235,131,85,205,168,213,166,40,114,248,83,152,74,152,61,72,19,60,81,172,121,159,129,64,11, +58,105,250,201,65,4,203,11,65,67,112,5,245,9,140,4,220,158,46,17,141,224,215,106,75,235,192,53,67,88,132,37,230,248,39,36,104,66,126,213,6,46,15,75,89,223,76,61,18,59,51,241,22,59,83,208,38,141,178,162,4,164,130,249,14,75,64,106,32,35,103,134,142,240, +0,230,4,129,109,129,236,156,49,57,18,13,144,163,113,42,194,74,162,95,197,138,179,176,62,78,37,96,199,176,64,232,94,186,118,160,90,189,186,29,69,48,75,208,255,221,225,158,107,232,102,73,30,92,170,62,78,144,150,161,162,132,26,97,16,171,111,212,27,227,243, +238,53,68,25,243,43,200,244,32,197,117,109,101,195,66,168,147,60,253,225,185,126,183,82,26,243,126,154,122,180,42,130,101,45,116,228,36,248,73,234,51,94,101,157,15,75,88,152,122,35,10,94,122,20,160,9,105,183,131,62,78,40,50,52,204,204,156,128,79,137, +219,72,177,129,149,57,32,70,5,155,212,239,123,126,247,0,66,117,99,106,41,133,154,5,52,193,252,221,9,132,105,97,124,85,19,33,11,132,58,130,6,14,179,2,120,186,8,233,47,233,55,33,168,8,114,13,33,12,8,222,70,48,15,49,81,176,46,178,8,167,22,8,206,68,176,184, +176,4,32,150,112,201,51,27,66,200,129,171,174,71,226,87,241,58,231,159,67,223,169,29,162,212,82,209,59,71,142,225,115,132,96,137,247,71,101,148,141,248,28,35,62,154,247,97,25,65,116,133,128,56,250,252,60,202,131,17,191,59,110,195,12,27,198,221,1,129, +224,200,8,143,61,29,55,244,184,232,3,76,195,197,76,227,57,181,105,93,98,37,188,86,224,235,137,191,133,75,219,164,31,6,216,188,117,154,53,7,234,209,68,153,187,160,30,47,93,92,71,170,239,58,100,241,28,57,3,67,171,89,185,68,200,243,221,57,100,243,94,66, +245,47,210,135,69,87,60,158,243,68,181,185,182,190,174,24,175,206,62,115,51,96,112,173,170,212,27,75,87,234,77,163,31,45,30,4,140,85,9,20,58,93,99,218,88,138,205,42,174,51,179,129,228,59,115,106,18,204,47,195,152,160,18,106,32,254,209,4,3,92,10,10,208, +22,80,148,2,16,199,68,160,249,66,2,157,34,231,105,208,136,103,35,147,151,208,189,208,37,20,150,117,94,104,142,194,198,169,226,95,176,248,49,30,137,252,125,97,64,65,66,77,99,94,135,197,15,248,215,186,28,160,84,27,121,14,23,11,66,92,151,149,33,162,154, +16,90,143,215,218,80,209,170,19,128,241,221,152,109,130,62,19,96,193,83,132,89,81,72,140,140,176,22,32,13,130,207,249,94,153,1,239,40,128,42,109,48,62,207,66,107,134,166,61,135,53,4,237,29,239,246,5,103,248,147,134,60,5,104,85,17,110,21,18,102,167,183, +204,51,112,107,189,187,74,24,169,213,181,227,114,255,197,139,171,150,25,179,181,42,68,66,216,41,18,125,183,92,237,123,250,88,102,112,222,126,31,209,217,246,246,188,254,220,231,90,154,73,227,217,30,194,155,19,161,190,173,124,181,160,164,222,110,27,157, +2,1,111,119,15,76,251,137,57,51,194,137,192,247,54,182,5,86,233,206,64,7,179,248,241,52,96,61,184,44,91,5,254,21,13,72,196,235,79,12,24,67,71,13,5,34,181,222,151,242,100,66,87,2,104,179,201,112,34,169,142,56,223,32,25,200,52,145,221,163,13,135,180,120, +29,190,213,194,37,6,128,113,142,40,12,186,93,34,210,128,109,134,210,1,32,225,254,64,17,5,225,4,225,58,125,175,147,11,68,132,191,12,109,193,122,240,108,225,30,112,200,9,150,92,14,227,239,146,34,131,3,229,51,17,184,225,130,117,129,47,71,11,62,198,69,72, +101,126,89,176,83,248,178,197,120,52,178,81,173,133,213,2,3,142,112,40,236,193,122,195,7,51,214,165,207,45,1,188,104,138,131,182,181,99,248,220,221,187,165,109,60,6,86,10,190,118,188,179,80,10,102,1,51,181,240,188,114,95,4,155,247,249,121,37,57,93,146, +21,228,16,46,92,144,48,200,85,170,251,22,173,13,223,71,99,69,91,153,38,36,79,41,89,66,112,193,80,86,160,224,154,222,124,109,217,205,254,212,77,221,0,191,183,252,232,146,186,189,121,15,100,59,57,224,109,36,200,79,234,153,112,70,5,16,170,5,9,97,107,83, +38,68,150,102,212,52,18,206,0,11,50,142,9,96,170,189,79,197,234,77,88,46,100,41,108,158,252,66,66,151,178,4,115,91,250,231,128,76,128,210,224,109,32,176,146,130,198,117,249,65,129,32,7,19,64,224,20,38,252,172,217,221,190,219,252,246,183,255,237,179,251, +7,247,31,31,143,251,115,195,81,247,49,167,139,58,206,103,93,136,86,56,153,48,76,183,195,40,221,110,52,167,190,55,53,181,240,250,83,103,158,189,241,232,194,51,29,124,28,62,28,43,79,132,4,0,69,149,197,139,97,34,193,43,131,40,137,225,37,96,155,75,152,28, +124,15,205,5,50,46,225,255,13,45,52,62,124,20,217,32,205,20,209,56,62,67,92,13,161,54,105,74,219,136,129,239,0,180,118,241,244,18,84,219,76,195,116,59,29,59,91,182,84,163,0,128,58,25,24,40,129,123,99,211,150,11,139,91,88,114,11,118,22,10,48,179,165,212, +231,206,93,87,103,206,43,253,218,149,215,224,103,231,41,84,15,14,222,227,208,239,35,216,195,98,102,185,243,146,47,227,96,226,252,250,245,243,234,105,161,192,206,202,67,201,220,86,240,234,119,141,110,34,139,81,3,177,127,188,29,6,52,193,172,116,176,166, +111,142,181,90,166,3,70,9,164,191,65,42,86,76,177,33,96,162,201,197,9,136,105,129,83,158,153,60,192,249,50,20,170,66,12,72,223,70,114,33,137,37,7,96,202,17,78,47,12,40,150,35,195,33,104,41,148,3,210,38,19,209,233,188,217,250,250,55,254,249,175,236,239, +221,91,25,244,247,158,150,20,23,44,38,179,23,48,145,12,125,44,41,13,41,34,210,4,214,56,145,188,77,229,225,79,132,157,78,210,198,235,143,45,62,243,123,79,60,241,233,141,211,39,151,183,1,164,144,143,149,135,65,49,17,186,145,82,14,37,221,131,116,109,14, +66,130,198,31,40,205,21,68,207,142,232,77,135,228,47,232,28,138,40,231,2,192,201,108,197,80,65,228,14,154,32,38,192,42,55,28,144,50,131,174,97,9,254,198,186,153,86,211,246,118,173,101,109,85,23,138,207,60,238,107,111,12,75,207,9,224,232,35,138,222,94, +182,11,159,187,174,183,182,186,142,52,174,232,25,50,64,19,249,188,93,99,191,175,96,89,70,202,172,130,176,30,184,239,183,175,42,67,178,122,156,120,223,187,139,172,205,66,124,90,234,147,164,114,224,77,152,98,64,222,246,49,4,22,225,48,172,17,175,226,24, +117,199,65,30,215,97,109,131,48,131,80,21,51,53,56,195,68,191,185,34,151,132,211,166,189,48,213,176,96,22,39,4,16,198,191,37,237,93,32,255,145,231,101,1,18,212,4,143,104,250,194,189,254,118,227,143,254,232,139,191,124,247,222,171,191,130,83,139,148,184, +165,69,214,202,78,126,160,7,129,242,195,161,13,80,60,24,90,199,236,32,226,94,72,128,167,195,48,113,132,40,73,132,44,30,183,152,157,121,100,253,179,63,246,119,254,175,69,8,24,191,148,252,8,162,91,47,96,129,91,1,197,8,16,93,208,219,50,212,113,34,84,6,212, +72,235,89,93,71,44,139,116,238,136,139,1,63,10,102,197,106,160,1,172,147,50,33,21,137,172,80,11,137,252,225,1,210,126,16,238,40,175,23,116,184,225,116,27,95,97,71,189,177,215,46,89,90,51,51,85,56,198,180,164,26,55,20,132,187,240,80,184,43,87,214,220, +36,173,247,129,76,241,164,26,157,215,89,169,206,191,116,212,235,43,204,181,250,76,235,110,149,99,93,254,196,105,173,14,182,205,54,174,31,3,163,100,230,141,97,57,203,8,194,13,65,238,22,73,221,153,116,20,132,72,136,27,152,222,172,4,188,196,105,26,101,128, +165,117,104,40,238,3,58,20,243,27,67,120,176,106,34,84,10,209,32,77,224,196,198,73,216,34,194,13,24,33,67,12,160,107,204,215,254,224,127,251,205,187,219,223,253,229,60,31,183,66,0,143,162,40,248,84,178,194,202,23,196,2,47,187,234,6,165,61,41,183,199, +59,147,16,12,129,167,170,76,26,158,129,215,1,117,41,122,73,16,199,187,187,119,127,241,43,235,47,174,62,178,240,241,127,245,43,63,251,143,255,141,162,223,214,180,189,192,3,136,97,16,19,133,92,15,37,76,113,20,8,165,233,84,76,174,17,240,171,65,231,140,236, +16,22,106,26,101,170,0,201,1,131,172,194,18,12,5,44,204,24,196,117,137,53,178,219,27,72,228,52,78,2,221,71,134,43,61,14,171,13,208,57,236,207,129,123,118,166,209,7,213,8,194,162,171,72,254,40,183,240,252,117,253,197,47,118,221,234,170,151,147,164,224, +201,46,30,105,25,249,64,26,43,230,151,253,53,107,190,246,149,215,145,20,14,110,92,145,213,131,216,230,22,8,247,196,52,164,0,237,4,66,255,142,137,241,107,168,84,172,20,52,53,168,39,236,108,143,84,33,96,127,212,204,194,225,62,161,62,252,44,206,0,161,132, +132,40,12,35,32,76,96,40,248,223,50,36,250,68,40,11,108,105,99,34,96,1,80,138,156,1,206,101,89,6,123,123,183,230,191,245,173,127,253,143,199,89,15,75,25,100,14,128,214,112,144,81,176,224,154,51,45,164,62,100,32,22,246,176,154,210,249,219,242,175,4,174, +244,8,52,211,20,55,13,128,133,102,98,29,49,223,9,178,169,32,113,104,196,162,71,105,242,230,207,63,251,15,255,199,199,31,253,228,93,2,45,44,159,210,208,209,19,184,147,128,12,168,183,248,139,24,45,160,134,210,52,243,43,224,155,96,85,2,84,33,176,182,96, +66,163,184,160,41,102,34,223,102,240,199,176,28,131,238,129,77,166,27,110,23,9,131,227,113,203,49,73,63,234,20,194,41,47,204,20,150,237,43,147,124,237,178,144,20,203,229,145,190,38,91,153,226,195,152,118,162,185,239,45,88,255,84,22,170,105,38,124,55, +0,156,22,54,129,134,59,64,195,39,61,217,223,153,57,45,21,242,221,170,94,73,124,43,184,96,16,246,154,182,142,102,152,236,210,56,241,204,146,233,103,1,57,86,166,195,198,204,196,208,159,70,65,196,112,130,28,111,78,191,138,144,3,156,171,161,151,226,185,99, +172,90,86,102,24,182,195,188,246,202,213,191,177,181,189,241,95,129,38,106,247,7,227,120,52,28,135,57,208,216,104,132,16,67,59,111,120,241,134,57,104,194,48,102,194,198,103,221,45,97,51,31,166,242,242,186,38,226,18,246,153,188,162,88,111,126,10,62,27, +26,134,32,8,108,9,139,165,21,65,188,226,2,8,122,159,248,216,207,254,206,179,207,252,230,183,232,123,41,200,80,252,182,1,76,200,129,124,1,23,50,66,6,10,28,92,154,13,11,154,104,228,105,139,36,130,80,71,32,176,108,12,110,140,164,20,126,29,100,27,210,205, +34,97,96,32,76,230,113,251,123,64,20,101,97,219,166,41,130,125,35,204,203,195,74,71,54,142,205,129,75,88,95,183,207,65,101,87,241,147,174,248,186,40,167,142,100,222,38,130,125,111,34,217,85,188,240,26,235,229,30,30,172,110,103,244,44,109,23,96,250,239, +129,50,97,142,149,69,104,123,172,178,6,219,205,90,94,198,107,242,1,51,158,28,103,233,10,117,128,97,141,68,38,121,2,34,2,81,11,180,49,38,88,34,77,8,205,163,80,199,121,25,80,152,244,173,140,55,137,140,33,153,240,181,155,191,247,235,189,254,173,255,6,43, +126,106,56,176,233,96,159,49,102,162,218,211,45,187,240,200,124,57,55,59,93,78,181,235,174,22,215,108,45,173,3,140,38,46,78,88,141,70,119,46,69,32,92,171,226,120,121,3,254,82,51,122,241,121,73,81,96,205,5,0,11,173,227,56,68,122,47,112,44,5,32,127,12, +61,108,253,249,95,92,251,239,191,242,7,191,243,27,92,96,4,109,4,111,184,31,118,53,50,19,28,32,191,3,226,19,84,111,201,130,196,134,104,159,191,57,40,199,12,183,252,57,103,14,18,196,69,4,139,198,90,46,86,94,50,222,103,241,122,194,114,161,99,74,157,65,248, +216,152,242,69,127,52,197,236,105,250,181,207,173,122,101,92,246,150,116,82,46,163,222,166,164,239,159,221,185,200,196,238,188,254,252,202,154,158,244,158,44,62,51,23,180,62,19,34,126,69,216,129,148,92,125,176,45,45,22,124,172,165,67,169,87,98,189,47, +107,119,169,173,118,8,239,2,161,130,248,54,172,51,138,107,116,181,185,97,238,20,41,81,69,246,6,212,29,127,179,142,154,49,131,71,132,46,48,185,16,174,19,28,75,45,86,193,221,205,175,253,45,103,119,127,163,44,84,186,187,61,74,29,18,64,237,214,180,58,177, +56,83,198,224,123,184,70,166,103,155,118,110,118,202,182,167,155,174,13,1,207,76,183,92,179,134,84,66,2,164,103,130,202,213,78,132,251,16,108,148,185,152,109,234,161,166,227,68,240,234,53,220,151,76,27,37,21,86,242,114,179,185,249,221,191,255,31,255, +240,127,249,219,146,41,96,2,41,194,58,0,93,140,120,25,171,7,108,84,170,131,28,56,107,204,28,48,112,52,81,61,204,134,97,53,7,18,254,146,83,182,121,70,248,161,104,201,136,202,210,150,87,130,3,40,69,156,78,75,91,202,131,7,158,106,36,27,213,6,205,200,132, +60,89,62,62,143,5,13,18,130,74,242,253,210,164,170,197,29,45,149,9,222,46,203,183,132,58,95,85,238,197,23,255,68,255,201,246,134,234,92,157,97,139,160,106,225,195,247,193,207,238,171,105,245,232,241,190,249,203,93,96,134,123,92,109,129,217,239,130,227, +5,36,118,253,66,78,5,191,52,180,15,140,74,28,40,248,64,96,127,104,97,68,47,22,130,28,12,146,132,212,32,243,36,240,164,112,199,36,114,113,62,65,201,1,70,146,58,208,80,22,172,253,222,254,198,143,57,123,239,31,12,135,89,210,235,102,112,121,169,158,153,107, +23,9,8,121,208,131,38,31,41,129,188,229,216,155,88,48,27,46,137,35,193,80,176,108,134,101,82,206,43,38,5,38,107,219,72,176,42,82,86,226,118,241,187,217,185,65,152,92,240,53,198,139,21,112,151,201,3,81,106,222,71,91,119,208,223,91,30,149,157,205,165,147, +207,188,9,20,132,85,160,229,172,145,209,14,180,247,235,172,250,209,17,34,97,50,30,17,205,191,113,245,132,165,55,5,18,93,252,192,16,47,29,226,249,129,219,239,43,177,12,6,216,106,54,72,84,119,138,203,16,223,125,100,221,49,144,213,49,56,246,242,22,48,244, +169,155,250,254,27,179,238,212,19,74,253,234,239,40,33,241,175,73,49,254,42,219,69,32,179,135,139,213,188,93,168,218,139,93,170,209,39,101,165,107,248,239,252,121,95,117,72,255,202,21,164,226,45,67,51,252,113,112,194,211,31,15,12,147,231,172,177,101, +91,5,24,40,121,29,139,179,89,26,202,10,8,95,108,150,168,152,137,113,152,186,148,1,15,178,236,36,117,185,210,121,17,60,66,80,5,105,146,65,162,105,179,197,246,124,20,221,251,175,239,221,61,168,111,126,175,151,158,253,216,35,217,163,167,231,203,108,88,234, +254,1,194,30,151,66,91,27,64,90,44,24,174,225,130,219,186,134,215,25,93,79,107,208,190,80,23,35,216,69,87,7,32,77,113,194,35,33,88,165,72,148,138,202,159,107,36,4,146,32,183,204,201,225,27,209,90,92,55,204,10,136,58,224,207,161,111,6,192,125,245,230, +183,254,209,214,246,75,39,13,157,105,73,109,181,18,158,145,96,225,66,200,203,2,161,186,146,223,103,202,88,180,150,231,132,22,139,121,92,90,175,176,168,249,2,118,152,227,41,164,47,233,194,152,183,149,222,33,229,91,65,15,42,107,184,123,194,71,33,236,27, +38,165,11,236,35,197,132,12,71,39,0,234,45,37,194,239,166,177,135,69,224,234,97,102,135,169,58,117,67,153,27,200,2,252,228,47,181,3,164,14,213,34,76,241,108,68,106,158,245,75,212,80,200,12,24,145,73,102,38,155,51,73,150,143,193,84,212,131,186,245,192, +105,196,196,185,36,200,125,98,156,81,32,145,47,133,74,190,54,18,191,106,133,200,39,175,59,216,251,234,255,112,176,55,56,113,255,222,126,180,252,201,165,108,103,251,192,236,220,31,134,187,247,179,48,10,19,49,212,80,25,18,13,18,173,36,53,132,25,217,88, +147,250,65,110,208,110,223,237,33,246,181,8,82,11,5,116,163,114,216,124,92,228,58,162,207,106,101,139,129,150,216,151,128,10,203,5,52,101,32,4,6,208,177,246,224,74,116,150,214,128,207,146,232,41,173,213,94,254,220,175,94,186,8,16,78,54,25,102,202,21, +134,245,25,8,206,36,190,5,58,198,10,46,220,33,50,14,11,198,185,112,39,14,137,163,162,222,142,11,60,199,146,98,99,149,198,208,166,69,139,174,97,96,75,41,97,237,131,102,204,240,229,71,5,226,87,8,252,141,126,121,242,51,190,186,226,220,98,215,93,171,42,43, +124,203,170,122,75,129,155,121,167,80,47,189,69,216,203,213,56,129,133,77,100,23,86,54,212,202,179,190,187,124,106,38,144,102,36,246,215,196,85,85,0,83,150,242,119,70,251,218,95,228,87,235,16,106,129,147,201,21,42,37,44,149,198,186,88,121,176,164,229, +183,106,57,107,101,41,128,132,148,17,18,158,230,214,95,254,254,111,220,221,60,88,124,117,99,183,246,227,159,61,91,236,237,140,204,235,127,177,159,12,15,130,160,81,111,187,52,174,187,56,170,185,56,76,85,13,218,153,68,41,78,109,164,90,205,186,45,70,44, +252,77,84,45,105,2,76,53,96,154,83,121,30,159,159,224,111,20,112,81,16,214,42,31,15,49,202,245,166,218,147,27,78,248,12,81,102,37,228,162,168,196,4,122,201,237,209,96,248,212,127,248,198,255,250,107,178,20,104,109,12,1,31,100,5,232,199,124,177,170,126, +163,99,170,177,210,218,73,73,79,187,70,242,109,44,244,42,93,22,107,149,157,30,120,173,102,143,82,86,121,204,121,47,7,118,242,145,151,103,55,197,117,223,180,39,197,110,180,172,151,215,212,59,142,119,128,167,11,85,229,249,132,170,98,204,196,246,71,38,124, +151,241,223,206,189,194,189,254,242,200,182,59,165,155,63,238,95,195,38,37,86,68,140,147,190,238,169,190,128,38,17,112,152,186,62,50,208,210,78,65,48,65,62,94,69,42,168,42,29,20,139,113,181,100,86,128,150,11,225,132,105,237,184,136,107,181,193,252,189, +55,223,248,123,189,78,25,253,216,179,103,178,122,45,202,95,121,233,65,154,166,109,8,171,5,161,54,92,28,167,42,141,18,149,196,53,17,84,154,214,112,61,85,173,169,134,158,153,169,195,105,38,58,9,235,138,207,75,162,26,158,139,11,133,26,114,49,224,18,48,211, +23,136,221,242,45,190,94,102,150,1,204,184,196,5,57,86,100,232,73,114,105,161,62,172,152,59,231,211,101,242,207,214,230,237,223,220,239,239,212,75,237,147,23,1,136,18,104,38,222,22,22,8,128,170,148,140,21,113,152,175,199,114,88,216,72,221,225,121,74, +39,186,102,232,170,104,142,97,161,205,52,67,195,172,175,153,226,100,11,231,48,241,9,120,181,192,127,150,20,187,18,25,207,62,255,235,53,253,10,66,79,154,100,181,186,206,102,184,42,98,127,15,193,78,212,216,55,47,95,49,44,173,89,101,161,213,150,114,175, +109,109,232,141,27,27,42,124,42,53,143,227,194,58,225,187,59,190,46,184,61,11,194,97,212,116,172,97,2,50,213,113,196,166,165,32,96,153,11,67,28,254,136,162,204,145,28,97,225,25,219,16,125,197,3,137,5,15,76,60,209,95,208,125,177,78,2,144,226,246,171,127, +242,119,242,60,8,142,205,79,231,143,60,214,202,58,15,250,208,210,38,130,123,209,62,8,42,134,16,19,23,197,49,180,48,118,73,2,109,12,112,155,45,118,96,114,155,211,137,154,155,175,217,180,150,138,134,38,97,13,207,75,229,66,225,198,213,37,130,112,137,211, +252,89,209,162,146,226,169,72,47,64,192,217,144,86,150,33,15,121,103,198,61,124,138,173,252,25,156,64,81,52,191,241,231,255,226,151,137,125,248,80,33,225,15,75,117,124,73,14,92,48,203,169,140,145,144,7,56,66,22,121,166,199,200,74,209,146,5,209,72,51, +236,81,190,31,76,177,55,168,133,176,103,111,111,79,210,121,84,158,6,194,30,54,175,181,230,110,9,135,112,21,166,152,207,189,241,121,112,198,171,171,21,121,234,222,59,220,153,152,98,254,119,101,101,195,185,35,109,28,180,235,203,43,203,10,185,116,197,22, +13,146,18,76,51,177,147,124,52,238,106,182,56,116,118,16,100,35,139,110,165,205,130,25,148,135,213,249,205,36,33,89,65,100,172,51,152,38,214,42,49,43,45,168,147,46,202,9,234,20,134,127,120,112,103,254,206,27,111,254,92,61,105,9,164,220,219,46,194,238, +94,16,199,17,180,15,130,11,145,38,71,22,92,177,194,144,194,149,11,66,154,246,108,221,77,77,215,221,184,31,235,1,76,86,90,79,117,45,197,243,224,139,43,173,21,33,83,184,73,101,150,39,194,213,18,207,104,85,113,85,202,171,49,110,148,108,185,20,222,64,184, +74,143,160,181,243,81,177,228,172,213,189,237,91,191,218,61,216,110,152,138,0,7,237,41,218,27,133,82,48,128,144,167,144,58,44,89,196,56,55,44,94,119,38,151,186,174,110,31,218,212,28,27,214,39,119,246,129,1,59,164,99,219,210,101,207,158,250,121,118,239, +35,236,97,60,203,1,39,212,216,167,159,158,50,91,175,116,157,39,24,160,177,151,42,197,84,239,129,138,249,37,197,20,95,196,7,95,184,104,5,61,85,141,185,231,241,95,255,214,45,179,84,61,151,132,63,43,15,101,52,0,160,156,157,214,166,201,6,211,62,208,28,159, +48,2,2,101,11,70,233,125,43,87,41,205,48,127,92,2,147,132,164,151,41,193,23,3,164,178,214,95,147,67,117,196,50,184,255,205,205,155,203,101,22,232,52,169,43,106,100,191,171,76,214,15,224,71,155,16,102,44,2,149,75,136,60,59,194,154,36,141,177,186,99,55, +125,172,230,166,231,234,106,238,120,221,62,250,100,211,214,155,137,42,88,222,74,115,13,141,78,211,196,165,181,186,107,182,82,46,6,106,184,162,73,166,25,15,77,84,217,87,175,185,206,51,84,194,82,81,136,142,230,57,247,2,182,132,211,74,136,104,81,6,91,150, +205,63,222,248,151,63,39,61,83,36,57,112,97,93,21,11,234,4,86,209,28,177,167,183,148,200,7,240,138,150,26,72,49,136,29,124,139,156,79,214,38,79,77,107,93,71,168,211,237,178,73,116,74,1,98,154,109,100,214,103,23,246,164,54,155,252,60,39,232,236,238,102, +110,1,57,113,182,212,48,25,48,225,40,220,17,173,125,155,198,178,217,234,82,21,234,92,14,38,43,97,117,89,185,235,32,255,79,128,179,228,244,20,210,92,195,158,115,59,148,95,99,95,43,82,38,248,50,181,214,192,212,154,164,17,71,18,230,72,85,4,132,202,21,106, +139,216,23,143,85,224,193,216,73,92,89,146,32,150,21,77,230,135,165,41,163,209,131,95,78,144,60,160,22,146,93,26,116,93,80,140,2,147,38,53,88,129,68,5,20,110,2,95,29,83,184,145,154,57,94,3,51,20,233,222,3,96,148,81,8,173,76,116,156,32,79,218,151,58,23, +48,91,137,138,12,120,76,152,8,3,51,205,74,222,40,140,189,57,22,225,38,162,213,1,83,188,71,132,235,249,9,156,148,210,249,230,37,185,120,129,87,26,59,161,179,212,206,131,7,63,78,22,170,196,194,20,237,36,86,168,64,20,236,11,4,12,13,142,99,35,133,118,172, +185,66,122,135,36,69,129,28,47,207,149,99,249,94,1,78,117,223,218,150,239,188,22,115,156,182,142,235,81,207,247,221,50,204,252,211,111,20,110,19,214,147,25,30,142,127,224,253,203,203,239,140,110,222,6,158,156,158,104,236,11,236,15,169,94,176,190,225, +107,135,123,119,207,186,25,240,150,28,250,193,178,210,57,246,129,182,218,150,69,88,173,86,83,21,187,206,13,6,156,249,0,64,128,44,206,254,104,36,93,109,242,206,73,46,177,170,148,117,178,70,23,247,129,182,208,88,194,92,223,2,154,24,20,180,230,242,57,248, +182,83,16,162,196,156,1,46,229,24,17,104,163,166,164,95,131,2,137,34,199,251,113,162,92,72,141,222,131,233,15,89,118,29,234,225,65,40,21,141,227,94,72,65,35,75,215,80,172,144,73,146,216,53,218,52,15,184,167,65,166,42,21,237,247,66,77,189,214,86,96,202, +77,132,91,133,244,50,132,137,158,204,78,132,58,249,123,216,241,165,135,163,253,143,247,70,247,235,134,153,122,205,192,143,105,28,68,108,248,206,100,161,138,28,146,181,44,100,151,62,3,113,79,109,164,57,24,86,179,135,87,122,116,67,208,55,115,124,203,158, +60,167,30,79,73,191,15,51,103,244,179,111,17,213,58,135,158,173,203,125,107,27,239,204,238,188,35,109,231,147,235,23,124,58,72,249,140,14,80,177,212,15,247,23,111,153,198,126,168,31,28,35,24,64,160,5,170,101,42,240,100,4,209,28,73,129,38,116,112,88,171, +5,101,78,218,105,172,16,197,1,114,0,92,177,92,20,26,134,228,154,152,96,23,136,127,210,228,76,73,72,136,119,8,2,245,198,235,223,254,248,120,100,131,70,19,102,28,160,8,204,20,171,201,240,56,52,17,145,22,146,219,138,149,104,228,172,140,76,53,193,186,8,171, +132,141,48,69,44,108,41,192,240,176,78,188,201,183,4,14,178,10,209,23,168,249,146,39,208,5,137,81,227,136,180,161,37,173,128,12,156,149,215,49,22,70,184,133,24,183,194,35,101,197,87,89,165,39,218,170,143,170,169,92,39,187,100,200,62,5,223,121,245,63, +125,242,167,126,236,115,255,5,148,18,22,97,137,4,21,8,14,196,179,33,171,180,72,88,210,14,247,50,154,45,158,51,90,117,184,37,70,68,44,92,29,170,70,138,69,152,240,59,53,85,3,161,18,178,241,174,86,226,87,246,173,106,227,75,245,17,235,178,105,90,61,57,101, +118,23,207,151,204,205,46,47,3,64,249,249,37,90,29,73,6,188,69,176,85,30,86,174,87,149,231,186,243,219,215,205,23,190,160,100,202,11,215,26,11,154,85,224,219,54,134,96,69,160,117,138,157,221,96,156,92,99,10,104,152,172,234,16,223,58,81,174,86,19,44,161, +217,47,17,32,40,183,161,52,78,80,48,32,10,88,214,226,125,17,253,18,184,87,240,102,161,122,243,206,157,199,97,110,157,7,72,36,226,33,92,152,207,146,109,148,165,118,237,217,72,103,227,194,165,117,224,146,32,16,20,83,140,148,196,36,12,64,33,31,196,151,136, +160,187,49,76,112,192,14,59,144,19,185,200,34,18,153,140,53,80,39,34,17,228,73,243,144,221,115,82,240,196,116,13,83,125,178,48,88,245,20,228,62,244,177,206,251,94,143,155,164,177,67,196,130,251,3,201,201,121,161,243,119,118,246,182,207,224,177,175,147, +229,40,133,19,101,161,58,222,164,144,222,3,240,33,153,102,242,22,107,146,76,6,235,178,152,136,112,134,197,210,80,219,1,91,128,34,184,160,168,167,187,7,165,203,145,216,229,52,26,182,164,28,212,141,62,214,92,96,43,136,122,233,37,101,23,23,89,162,116,222, +205,92,61,207,233,6,44,130,120,75,109,241,59,80,177,215,218,75,50,241,133,83,77,206,45,158,119,164,19,137,198,186,59,133,99,149,58,159,211,31,60,52,13,44,129,153,61,198,36,65,195,223,1,211,162,70,67,197,52,57,123,106,152,117,229,28,16,11,78,55,23,66, +66,11,57,94,48,190,49,81,149,45,149,10,48,0,29,119,74,252,29,174,204,45,212,32,72,154,91,22,114,35,211,130,245,84,107,6,69,179,29,178,12,14,148,31,27,105,2,51,127,42,118,179,39,105,224,51,61,56,0,215,155,133,4,38,138,160,105,118,17,241,109,45,4,192,10, +0,160,2,181,112,166,134,247,8,29,23,13,45,6,179,56,4,78,124,190,44,38,216,198,144,102,221,25,117,36,177,41,25,60,79,76,120,255,234,179,67,2,162,252,121,227,79,29,13,78,150,236,33,42,75,1,137,200,199,29,158,163,210,250,8,32,106,120,63,155,1,120,32,241, +164,194,10,72,49,44,100,191,210,56,30,232,239,221,194,155,1,183,176,253,146,211,114,228,13,128,140,57,251,138,89,30,8,85,222,247,198,164,75,96,109,242,85,223,3,21,123,173,245,131,45,47,175,172,81,197,15,159,40,57,88,8,117,110,33,241,175,121,163,176,132, +227,172,104,239,218,166,84,185,179,101,131,5,224,28,253,192,100,122,80,53,35,83,184,65,213,147,106,89,130,173,164,50,80,180,85,14,86,230,11,3,167,200,155,206,33,46,133,9,13,16,190,36,170,62,29,148,25,212,27,233,60,71,114,63,27,146,232,8,245,226,19,13, +53,115,34,176,243,167,2,11,18,74,53,129,47,74,124,16,98,99,18,155,120,126,160,154,115,129,226,99,181,25,171,206,254,68,205,158,60,27,168,99,139,137,157,154,169,185,197,165,182,123,252,227,83,182,86,199,243,102,35,55,59,31,227,92,38,206,215,221,80,192, +212,54,82,139,204,211,146,78,174,24,99,249,127,34,92,207,47,79,132,61,202,186,143,48,173,66,239,64,43,196,46,3,2,66,45,0,202,183,156,228,131,156,10,173,227,201,137,77,88,75,156,58,153,141,177,7,212,12,20,223,0,50,166,21,108,137,155,235,40,142,3,228,252, +71,98,27,22,183,177,251,125,115,83,74,150,36,31,203,212,29,93,232,123,162,98,191,52,47,56,239,98,47,41,95,114,177,174,152,92,231,99,212,216,209,203,165,227,172,65,245,168,175,129,29,212,247,61,253,213,155,116,160,43,77,133,29,195,240,136,153,225,249, +9,16,192,6,62,133,69,219,159,87,210,100,137,183,124,9,9,0,165,220,144,149,254,199,8,140,232,48,251,7,227,242,254,157,94,128,64,93,250,238,12,88,32,112,184,234,19,127,3,2,105,89,247,200,199,141,59,251,201,134,107,207,107,215,235,142,204,233,149,41,16, +233,124,63,36,148,96,166,211,26,96,83,29,214,47,33,56,137,245,210,227,109,154,111,34,106,157,212,99,222,7,171,80,119,115,243,117,85,111,198,204,132,51,243,64,144,6,249,196,242,62,110,82,159,96,36,177,231,147,0,19,111,230,212,67,127,235,152,244,40,155, +186,90,176,124,169,173,122,207,185,126,243,220,255,112,134,105,116,10,236,30,19,107,198,161,96,192,25,67,92,24,203,210,232,177,160,158,25,29,230,183,27,181,105,153,245,40,167,12,177,230,110,211,43,27,173,40,251,122,94,120,65,233,229,27,147,9,170,15,229, +248,174,249,88,152,98,153,47,196,159,180,189,188,42,67,31,105,138,39,147,78,152,113,104,116,173,219,229,140,133,193,148,227,120,156,158,32,185,62,204,110,221,17,17,79,180,149,181,63,94,83,51,164,166,144,0,201,133,83,22,255,169,30,42,44,105,24,191,128, +107,129,88,101,74,121,231,222,136,37,129,146,245,123,228,137,122,142,12,129,155,93,8,203,126,47,215,199,22,227,178,217,138,44,120,15,27,227,130,215,169,151,255,248,0,234,28,59,10,143,117,223,221,29,109,238,222,116,250,96,59,212,119,94,25,201,226,169, +213,16,10,225,228,82,25,162,88,98,87,23,129,240,143,229,132,107,34,110,152,108,66,85,162,174,144,238,17,113,170,32,51,45,9,7,43,89,158,67,141,117,149,80,189,82,20,117,130,53,109,124,232,102,205,195,83,205,94,34,72,21,8,223,87,119,28,61,24,202,82,25,162, +41,174,102,78,172,113,46,157,107,186,100,60,115,248,122,54,142,207,116,150,156,140,126,88,145,70,56,25,161,75,154,120,173,74,0,28,133,198,239,74,41,78,134,70,241,185,107,243,15,99,36,63,0,18,241,212,19,150,131,25,204,172,154,85,236,214,102,225,90,84, +13,195,10,145,217,225,124,165,209,145,247,45,203,201,212,132,92,128,147,160,152,188,138,97,131,42,168,136,189,239,30,33,49,111,0,251,29,75,113,65,210,209,24,101,89,169,239,223,29,6,237,99,16,214,94,25,236,222,203,21,81,51,178,35,186,179,219,87,175,188, +180,21,222,126,185,167,147,168,9,127,90,135,127,14,152,133,129,239,15,133,101,10,97,67,26,237,84,202,171,34,220,23,225,179,106,117,156,77,184,192,246,84,147,183,37,17,191,176,52,227,230,23,154,229,244,76,138,133,130,60,58,203,29,180,169,160,177,0,75, +145,168,155,228,103,37,18,154,196,180,62,81,32,62,150,235,180,168,132,137,43,225,164,179,143,185,91,246,231,178,201,90,249,39,54,26,90,202,68,34,70,89,219,206,50,25,32,231,18,166,120,31,255,221,124,213,191,95,77,38,191,221,145,9,171,52,197,136,93,205, +196,199,170,67,36,240,240,156,191,35,209,206,117,185,186,58,175,201,120,92,187,118,77,111,255,187,109,245,250,104,209,144,241,200,134,112,165,8,34,70,169,209,163,253,61,4,220,13,61,197,42,48,216,172,154,141,117,111,48,16,128,80,166,177,113,214,39,205, +35,137,199,67,99,146,144,165,61,100,13,217,202,17,148,108,192,192,205,82,58,20,137,255,217,120,238,76,183,255,234,47,1,252,164,160,14,217,138,133,133,224,157,20,180,83,159,250,88,189,4,214,50,221,221,92,109,222,238,5,125,56,117,104,119,208,185,175,3, +178,82,218,214,171,220,188,132,66,234,204,167,34,221,154,181,106,234,132,114,141,105,118,27,32,220,129,96,109,21,143,102,227,28,231,189,168,234,160,232,231,121,88,233,26,40,193,204,35,177,175,157,7,71,194,15,43,159,147,215,147,248,86,251,163,170,150, +19,95,92,126,226,233,191,249,47,4,81,133,154,145,19,139,122,28,139,98,164,63,179,204,74,233,3,40,216,208,27,75,243,116,6,139,166,19,248,44,214,25,196,140,157,234,174,94,203,212,48,100,135,96,211,114,234,91,35,244,165,148,73,177,104,57,83,227,187,200, +157,188,246,154,82,79,32,225,190,125,28,249,217,107,224,244,175,225,11,172,122,107,203,227,45,225,206,164,3,128,143,113,136,52,252,173,90,191,180,46,115,131,239,86,136,24,198,214,169,77,100,168,242,105,126,88,176,135,127,90,52,197,123,90,145,45,42,218, +35,157,237,14,85,152,134,240,189,126,44,64,238,38,154,235,107,205,242,137,17,8,25,210,73,134,0,9,106,235,184,178,91,83,105,127,167,151,181,171,158,11,118,152,3,209,34,127,80,15,245,51,159,157,26,111,111,13,202,63,61,232,167,79,62,61,95,6,113,97,242,113, +238,158,253,185,217,242,205,155,125,125,247,86,102,70,29,154,98,200,22,68,87,119,119,172,206,124,178,129,240,39,151,115,141,48,73,223,189,179,171,154,0,73,56,181,170,57,5,237,30,128,131,31,56,209,90,118,46,68,65,136,68,2,8,17,248,151,40,14,52,210,200, +0,101,197,36,162,209,82,140,33,5,9,94,89,141,136,222,223,8,77,178,35,109,36,144,145,3,69,72,20,2,250,137,153,2,44,38,152,251,180,14,112,201,147,194,26,174,42,60,177,148,179,19,127,204,120,50,129,187,233,31,176,192,173,180,201,188,214,123,247,145,247, +74,253,60,229,206,204,29,176,84,75,238,233,68,153,221,57,73,178,203,123,32,23,251,54,125,125,23,83,44,97,142,162,96,159,51,87,94,184,162,57,228,146,35,226,38,225,78,7,4,5,7,66,178,155,142,163,94,39,125,158,25,190,80,218,26,26,65,118,96,114,66,124,89, +178,78,89,101,154,16,253,176,103,70,250,86,39,203,137,53,246,208,24,241,177,244,139,236,50,174,183,234,111,228,50,212,193,10,171,71,147,44,28,45,242,211,240,173,44,70,117,91,111,60,80,223,253,78,47,120,233,107,35,16,227,129,233,220,199,119,219,207,224, +119,67,213,152,179,174,49,171,221,153,31,139,221,147,159,106,217,209,176,112,48,171,248,252,12,90,222,145,159,255,96,19,208,210,147,70,62,3,135,108,18,179,56,240,12,46,7,189,41,194,5,83,53,51,211,176,52,233,82,230,98,124,100,35,101,53,76,227,73,238,221, +30,161,27,57,170,47,221,57,106,6,199,165,132,122,126,100,2,221,143,160,39,254,86,111,138,7,213,52,56,158,39,230,42,83,210,234,249,64,58,242,212,219,14,118,90,50,249,194,112,231,165,177,8,212,62,143,116,42,139,249,39,157,119,71,159,255,46,26,171,75,159, +2,146,222,16,25,36,66,240,196,97,209,119,119,110,42,86,166,63,232,69,138,92,113,13,39,133,29,117,17,242,135,179,69,0,31,103,56,187,208,56,176,60,174,145,88,152,51,207,160,225,103,4,120,114,2,244,99,11,33,216,217,141,200,66,148,128,21,221,200,87,2,103, +64,206,56,35,231,158,90,122,243,230,75,91,42,183,25,249,93,81,20,118,74,117,182,199,193,181,127,179,149,196,205,18,198,182,166,178,33,146,34,211,145,25,247,67,181,187,73,64,194,100,123,224,78,156,118,234,141,191,28,155,151,254,75,174,23,206,25,55,61, +47,240,84,189,252,103,119,129,130,19,38,11,244,212,92,228,198,163,28,160,37,86,52,187,89,158,187,44,183,38,69,38,136,51,50,145,88,208,160,110,21,153,47,196,185,136,163,10,144,34,101,101,114,125,233,189,39,188,39,145,142,15,52,106,105,251,22,201,175,18, +217,72,150,36,203,130,207,10,23,224,23,150,65,14,95,227,115,191,165,120,130,200,66,190,50,36,133,52,7,5,76,255,181,135,180,221,220,12,206,87,115,74,239,14,253,140,40,86,129,222,124,61,47,31,93,90,82,7,157,135,74,9,0,197,199,57,254,240,176,57,235,93,53, +182,18,175,56,140,138,160,48,236,139,229,24,116,230,98,121,144,82,100,171,228,96,228,87,21,187,196,178,251,48,175,99,166,236,252,12,194,160,173,100,228,29,181,86,26,89,232,64,97,205,160,53,48,195,57,137,97,48,75,185,180,181,197,236,44,15,73,43,150,210, +113,254,232,169,199,239,252,210,223,251,88,191,0,155,193,162,47,209,14,229,233,90,24,55,53,216,133,223,108,180,104,110,69,231,89,55,204,176,164,213,70,178,29,73,131,122,43,64,172,77,183,31,186,205,191,208,250,245,63,203,216,3,105,63,189,122,198,206,28, +111,112,29,185,189,7,125,197,194,52,190,7,66,42,55,236,102,122,170,221,112,68,201,163,126,41,35,15,96,142,229,241,36,9,29,27,167,39,220,49,227,111,17,163,164,114,220,195,226,122,220,62,54,123,242,214,91,78,46,62,44,145,110,78,45,137,0,158,7,186,163,32, +228,176,139,76,55,176,112,105,134,249,220,225,112,40,67,61,79,144,255,199,226,202,239,251,153,201,204,201,238,130,190,101,197,138,170,246,41,224,177,176,64,83,124,69,46,149,80,223,210,252,252,142,180,221,209,131,233,190,11,184,252,218,231,148,204,220, +61,57,119,214,221,125,121,100,57,58,110,62,247,171,41,169,202,98,216,169,206,9,101,204,113,66,216,50,205,140,211,84,56,4,139,168,152,4,5,81,126,0,130,130,166,215,114,30,4,87,117,232,79,128,230,42,7,18,250,206,55,212,159,127,230,103,207,14,142,47,197, +101,175,63,228,180,88,35,221,141,192,21,123,59,185,25,13,56,77,205,232,241,168,52,121,86,170,28,177,103,218,2,163,217,45,220,160,99,221,253,91,142,8,216,205,46,202,76,9,149,247,83,245,103,95,237,234,91,27,251,48,149,218,62,118,102,202,206,30,111,178, +87,199,189,241,93,36,63,225,25,219,51,13,87,107,72,135,58,168,202,132,229,145,172,86,33,34,102,18,223,199,197,161,47,105,100,77,84,224,29,45,0,150,58,140,99,225,214,237,169,197,79,110,168,192,215,198,193,247,58,230,240,249,27,65,154,177,253,140,232,215, +165,184,29,192,45,213,33,212,178,24,187,26,77,48,222,161,141,84,34,147,237,156,162,147,63,168,162,136,233,135,178,224,136,66,22,142,239,244,110,234,197,206,134,230,236,103,191,83,200,97,93,140,59,90,204,246,118,74,81,254,210,102,31,14,87,69,240,203,10, +10,86,40,54,101,36,1,180,118,232,125,44,87,211,248,77,132,54,112,14,204,252,239,38,3,157,229,67,196,138,138,116,177,28,156,112,22,147,94,137,165,80,76,67,17,157,192,126,10,87,102,44,21,82,81,36,117,247,240,182,251,59,106,112,176,151,221,252,133,191,253, +177,193,96,212,53,96,202,57,83,2,75,221,146,71,23,45,161,214,177,90,127,212,43,244,153,103,210,188,214,44,16,224,143,85,119,191,52,221,29,163,16,187,154,153,249,84,172,36,251,92,35,83,71,178,60,214,243,139,45,196,216,214,229,120,207,108,84,234,227,143, +76,185,214,108,82,146,170,6,80,2,216,49,228,151,113,61,100,39,128,98,69,108,150,177,151,199,151,204,16,165,211,41,151,62,240,145,170,69,41,94,177,4,120,245,219,11,199,151,31,16,241,149,130,252,224,106,114,154,100,229,7,149,112,120,73,32,49,177,0,228, +156,221,184,48,195,57,194,6,224,56,95,149,136,68,246,222,174,159,174,122,84,174,180,144,229,40,183,76,219,125,234,51,161,84,81,80,30,28,193,191,182,118,69,189,125,251,151,119,8,118,114,248,209,4,213,4,176,201,130,56,239,255,20,205,212,144,152,222,254, +179,210,18,60,49,31,139,111,43,218,219,174,215,165,61,144,215,169,98,15,223,113,12,18,212,89,206,242,150,230,96,134,0,156,235,29,73,21,160,229,121,147,31,142,53,109,136,250,147,185,155,79,127,106,161,31,215,17,160,176,247,20,116,35,56,98,203,236,11,223, +24,150,21,39,29,44,17,48,200,237,151,251,1,53,89,194,149,204,83,6,69,102,212,247,94,226,91,70,162,85,35,152,182,39,158,105,148,236,18,34,159,154,164,145,59,190,56,85,146,39,102,133,69,90,143,221,104,0,158,185,95,232,153,227,45,88,29,198,193,129,175,84, +167,78,179,22,86,25,73,40,56,207,163,72,178,65,126,167,242,74,123,106,233,227,255,78,123,130,177,234,203,44,196,244,102,85,236,90,64,208,108,249,24,225,75,231,240,175,178,232,225,106,24,191,114,62,20,85,129,213,49,176,252,142,147,238,51,153,199,184,39, +123,17,112,23,146,169,70,33,173,30,183,111,12,228,181,91,139,93,183,177,113,223,110,188,176,230,222,77,134,239,64,197,82,26,115,137,83,175,151,245,218,198,154,155,200,149,53,79,127,12,100,204,173,73,88,49,71,238,178,9,165,72,145,51,100,182,159,249,216, +239,237,116,221,241,70,67,166,132,242,139,134,100,80,226,216,62,100,159,240,67,234,145,178,21,176,96,175,105,18,49,103,73,120,33,165,71,140,89,221,215,191,98,255,243,221,205,78,254,228,39,142,229,206,20,82,227,59,98,25,61,158,52,198,95,152,96,77,33,15, +7,133,218,187,95,234,206,22,117,46,212,39,159,8,93,92,131,73,238,102,212,54,39,133,106,21,111,255,157,255,210,15,16,135,227,179,52,5,135,69,164,44,242,222,244,213,12,174,97,138,99,240,198,145,8,158,32,41,138,56,217,175,148,248,38,36,157,84,37,144,116, +168,30,206,35,117,135,103,209,157,126,244,83,55,172,244,108,6,126,97,171,192,74,107,60,167,108,26,78,111,115,76,230,192,112,101,30,80,226,50,30,226,87,100,113,201,57,171,156,207,200,215,177,10,37,141,56,213,124,95,117,183,219,246,17,88,197,215,254,242, +142,163,182,114,19,12,30,135,179,142,57,3,106,237,138,204,129,122,95,193,42,53,169,82,188,164,54,32,84,58,216,43,85,227,206,188,90,182,28,77,160,212,105,197,217,247,253,150,231,47,17,131,218,52,225,96,72,229,154,200,4,112,84,123,10,111,79,142,140,62, +118,50,137,84,0,20,199,230,100,136,244,51,146,78,57,126,112,46,241,155,43,115,200,24,94,56,99,77,174,43,187,187,170,127,231,118,240,141,24,203,247,220,143,207,64,163,193,81,35,22,165,112,109,89,50,174,199,253,77,124,50,66,6,22,163,67,208,236,193,201, +199,72,1,20,99,112,182,120,254,48,151,148,155,173,168,191,131,123,90,125,243,247,246,195,24,200,185,209,74,132,59,138,18,18,159,218,215,36,67,154,245,70,84,208,244,51,231,75,222,24,0,202,213,235,169,36,31,88,103,204,145,21,82,7,165,125,242,215,85,92, +241,220,204,194,58,204,240,125,56,110,58,12,164,225,56,26,202,9,50,6,211,101,249,187,83,114,188,16,46,175,211,61,101,35,111,209,242,138,122,37,232,36,235,228,147,236,100,157,160,189,96,165,182,246,114,228,93,23,21,233,68,238,224,69,51,44,253,83,56,174, +254,246,107,150,61,178,151,47,175,77,24,237,119,23,236,164,152,109,34,220,201,154,100,175,8,167,196,112,91,176,157,123,202,189,92,149,158,14,192,23,79,230,13,243,203,180,90,126,92,59,137,108,114,159,181,90,170,250,102,88,114,142,11,231,17,106,153,159, +228,57,99,250,34,250,90,112,199,118,66,152,27,153,89,88,138,146,221,250,118,251,63,252,212,47,60,241,224,137,167,155,195,31,255,185,153,114,52,238,153,71,159,108,113,6,177,59,177,148,210,40,154,159,127,225,248,120,250,68,110,167,216,87,26,23,238,238, +237,62,75,38,220,83,207,214,240,118,88,105,48,122,4,50,210,36,43,189,57,161,68,40,253,222,144,168,216,177,207,149,157,40,32,230,25,214,216,138,77,82,53,152,230,102,171,102,57,231,105,52,202,125,245,132,243,237,61,2,171,39,25,29,175,154,238,217,159,248, +141,127,1,7,108,169,216,236,192,195,50,229,228,68,241,173,92,208,182,192,50,238,59,73,245,150,50,238,143,24,1,222,41,73,68,184,52,199,131,65,95,222,142,209,5,185,247,169,169,41,228,117,58,170,47,181,219,165,19,58,177,58,22,207,212,244,141,139,219,110, +229,226,188,104,108,21,199,190,127,18,96,82,87,236,181,245,138,97,93,49,111,94,127,219,243,66,32,99,22,140,15,111,67,45,246,246,20,171,20,185,237,9,135,51,179,174,152,166,165,200,135,142,136,143,25,12,59,32,65,65,225,210,191,112,18,90,40,102,139,185, +128,128,195,94,168,92,25,139,230,99,206,217,41,247,59,106,144,68,115,87,63,187,250,200,193,103,127,254,120,231,103,254,246,241,97,86,244,213,241,83,169,105,76,27,176,70,200,114,61,232,25,100,84,130,205,215,187,230,212,185,154,8,248,96,167,48,183,55,70, +38,105,24,175,177,136,47,200,7,28,63,29,186,159,254,187,83,57,229,211,108,165,212,60,1,73,5,139,122,141,31,169,3,112,100,64,129,147,59,164,0,164,135,135,113,108,16,50,171,100,164,78,214,190,109,66,203,210,210,185,47,45,30,95,185,199,193,69,88,42,150, +130,231,107,144,71,144,1,96,145,79,233,200,115,9,154,194,74,99,195,58,180,24,105,29,182,83,22,249,192,53,109,77,218,41,253,78,50,109,117,176,107,173,236,53,128,24,182,124,16,153,25,184,192,221,102,230,56,103,145,26,75,161,178,60,70,186,218,47,168,170, +15,229,125,242,177,106,178,14,69,178,107,106,123,89,57,90,227,153,25,222,199,88,246,166,42,122,75,86,45,46,136,198,242,201,117,142,88,24,182,196,140,112,115,4,99,185,218,113,6,216,251,105,19,152,106,14,147,28,121,141,133,95,30,144,65,35,242,97,117,74, +1,79,148,59,97,111,217,228,22,34,224,45,137,59,0,164,190,242,127,216,255,128,240,102,115,231,65,55,124,252,169,153,209,99,79,213,179,227,75,193,232,205,239,117,130,83,31,107,23,223,123,237,129,186,245,23,251,154,118,254,213,63,31,152,189,123,165,196, +157,68,188,124,199,99,143,66,19,27,165,93,124,82,149,237,121,144,122,236,174,33,231,228,123,184,164,246,1,104,152,69,133,242,59,216,169,2,42,20,190,59,211,221,253,161,33,10,54,50,131,79,58,222,97,162,15,119,40,19,83,150,36,201,253,95,252,185,127,114, +153,211,193,74,142,118,204,16,193,224,187,23,128,212,163,33,121,96,63,190,32,22,215,227,164,6,154,11,187,156,196,175,169,215,86,14,182,238,87,53,10,164,18,185,119,144,140,9,74,172,107,130,8,34,88,229,99,159,174,146,48,159,251,245,243,238,57,234,30,107, +138,47,42,67,18,201,39,153,222,39,31,91,29,220,49,210,49,29,196,237,67,86,252,224,46,203,116,209,28,204,49,133,187,181,185,165,56,7,240,216,83,76,5,207,168,244,56,136,10,58,253,102,245,198,53,156,142,57,41,165,64,230,134,167,57,1,87,155,41,254,7,22,86, +102,54,16,84,16,41,58,41,122,161,153,102,23,11,135,117,200,92,60,72,66,217,255,244,175,244,63,59,249,200,244,254,55,255,224,181,244,211,171,143,13,166,142,199,250,147,63,51,15,100,44,173,3,1,173,44,71,188,12,123,5,88,40,163,23,158,104,232,153,71,180, +157,62,25,150,143,60,97,178,95,250,135,179,227,103,126,166,53,126,226,153,250,72,134,23,248,34,23,235,219,239,164,195,219,19,130,94,99,129,60,71,38,12,195,128,220,49,231,70,136,9,102,55,78,233,59,61,84,197,249,3,156,245,87,127,246,31,93,146,57,107,156, +66,195,248,21,32,48,144,150,65,44,152,20,177,124,148,75,238,121,144,201,0,18,155,143,199,150,86,107,128,248,149,183,9,156,136,136,155,22,217,164,168,46,231,206,78,7,38,141,219,110,178,107,23,143,62,92,31,39,182,245,4,52,45,203,125,178,159,145,239,214, +176,27,43,151,222,129,140,223,71,99,181,227,74,152,164,134,88,56,229,31,218,80,159,226,182,157,217,216,246,15,182,220,95,108,149,126,254,61,130,174,233,150,181,61,187,111,243,168,42,213,232,247,44,145,113,81,141,129,5,107,239,252,138,205,4,92,4,9,23, +89,104,15,227,60,14,48,200,217,208,195,47,134,208,7,198,233,205,87,237,131,205,215,210,127,245,27,127,255,199,14,192,0,142,62,241,236,137,131,56,181,57,78,182,89,254,212,137,209,227,207,180,237,184,24,193,103,229,156,25,130,19,12,12,130,219,59,247,14, +212,75,223,232,196,131,46,200,201,81,81,133,232,18,127,86,185,243,10,250,248,8,73,232,36,222,158,158,74,139,40,13,114,206,11,227,217,25,15,225,25,160,185,0,83,218,151,81,248,89,7,31,95,126,238,197,165,211,43,247,56,120,196,201,228,34,203,161,185,12,0, +44,126,1,120,202,208,50,196,97,49,27,149,30,230,216,242,91,91,51,246,85,116,174,242,175,135,91,197,244,21,39,148,231,131,122,57,134,143,229,57,101,212,193,237,93,56,200,155,109,53,156,210,118,102,243,8,117,40,131,193,31,110,155,118,84,128,239,40,102, +155,104,44,7,120,61,7,255,250,121,229,55,24,228,177,172,188,49,230,80,169,229,159,60,29,220,121,67,57,217,196,243,110,105,103,231,248,12,4,127,182,105,163,121,21,244,190,107,225,131,235,102,204,68,120,134,132,65,1,140,28,112,216,4,204,173,97,235,131, +15,127,66,233,154,16,194,208,90,153,166,71,118,30,56,185,224,28,15,58,96,101,214,127,87,125,243,111,53,131,185,197,199,213,47,242,177,229,79,28,63,128,6,153,238,190,14,151,206,70,249,99,103,27,193,141,63,122,160,78,158,154,51,156,20,53,183,128,147,88, +102,201,226,82,35,99,189,20,66,15,132,46,19,58,213,74,201,158,160,219,170,82,72,85,143,176,1,90,84,186,244,247,3,89,195,233,130,182,236,33,91,8,191,9,70,77,38,26,44,45,126,236,202,103,62,243,194,31,225,59,151,196,253,48,216,136,145,67,177,60,196,77,156, +17,23,196,88,161,220,209,35,8,69,91,99,164,226,56,188,11,24,194,54,27,49,199,2,177,195,0,25,159,132,46,205,206,5,13,55,96,34,5,120,100,26,41,198,238,97,14,27,49,43,190,252,28,252,107,242,245,101,247,229,150,114,203,29,169,30,85,208,212,74,192,23,100, +47,188,163,204,225,59,226,159,106,93,11,239,72,225,50,125,183,182,182,172,159,159,57,99,252,86,160,62,225,190,251,157,80,183,231,125,114,156,157,237,220,221,202,100,136,89,186,48,140,117,19,244,238,194,71,44,14,12,200,163,32,75,97,228,216,70,105,101, +102,169,225,222,145,108,196,42,199,38,224,92,96,91,74,31,158,225,140,68,68,185,17,59,194,117,213,250,207,6,45,214,159,114,74,204,223,252,251,238,151,23,31,83,191,180,189,213,13,103,143,181,237,160,7,181,96,47,12,22,193,238,118,86,251,246,215,55,205,210, +99,243,172,6,181,51,199,146,114,136,16,233,165,111,190,25,159,92,154,178,199,142,213,114,254,112,210,144,32,230,153,205,81,99,240,119,249,184,64,218,142,172,85,207,140,179,28,73,128,161,25,141,134,122,127,175,167,239,221,223,11,7,253,33,140,72,174,251, +253,158,30,102,3,189,180,244,196,151,254,214,207,255,119,255,39,160,125,206,173,36,0,22,10,21,8,113,198,73,26,50,34,40,14,252,44,10,55,176,185,184,155,0,9,85,196,98,22,86,128,105,42,90,177,184,30,151,12,113,91,160,222,68,37,108,221,238,13,240,107,96, +245,88,196,54,217,121,43,40,115,75,98,66,245,79,219,205,25,229,254,201,243,74,223,223,240,233,186,85,172,210,23,110,248,25,33,111,223,116,233,125,135,100,122,213,189,160,56,170,224,106,231,53,187,176,57,172,182,47,203,220,99,171,167,213,217,149,64,115, +216,52,167,135,143,122,126,107,176,46,190,212,96,127,223,54,79,42,153,235,31,135,125,97,87,56,33,133,219,160,48,248,176,58,42,57,112,99,98,162,100,78,82,226,205,49,68,110,153,125,167,121,147,41,222,5,59,43,77,206,209,34,255,241,159,155,223,123,233,143, +244,255,142,16,105,112,227,79,239,196,32,40,130,157,187,93,93,175,39,69,163,25,151,208,48,253,205,107,111,70,49,8,217,233,185,52,63,54,95,207,127,230,23,206,14,78,61,62,61,70,76,76,127,41,168,213,149,71,42,150,170,58,23,87,217,233,2,153,239,97,159,131, +41,116,152,36,1,83,126,64,248,44,73,213,131,143,157,251,204,139,191,184,250,79,254,121,105,240,53,149,76,0,43,227,136,248,0,43,21,84,24,200,8,118,110,243,201,150,99,145,101,76,125,24,217,132,99,251,0,22,137,134,217,210,193,105,228,132,100,51,88,150,28, +49,79,66,103,192,13,154,202,93,203,52,104,3,108,19,195,73,214,150,77,102,80,72,73,12,66,147,63,128,182,210,130,190,120,195,215,124,115,114,30,133,250,246,68,159,126,31,193,138,208,185,71,221,252,198,186,228,101,165,35,96,29,166,121,190,90,16,28,7,116, +11,127,207,37,230,209,233,72,54,51,72,143,71,33,39,136,7,205,1,137,82,105,134,70,48,104,178,52,144,73,161,82,150,150,225,15,206,69,26,233,96,8,173,149,84,31,199,1,21,126,28,144,104,107,200,105,180,58,200,11,63,73,70,6,99,114,58,27,212,123,233,81,117, +236,39,126,97,252,223,226,29,103,254,243,191,127,181,245,179,127,115,121,248,250,95,110,71,227,161,142,79,157,158,30,246,186,67,89,74,33,12,10,17,50,247,35,28,143,139,160,0,129,145,81,99,199,0,53,72,186,83,99,113,17,20,60,236,143,244,96,56,50,221,131, +190,217,219,239,27,54,151,245,122,131,96,231,193,1,210,60,225,173,103,63,253,155,255,211,194,137,115,119,233,83,177,64,65,162,154,130,220,18,115,84,16,106,33,190,148,166,56,176,156,23,40,99,128,56,215,120,50,14,40,131,224,240,79,217,108,112,141,68,57, +205,50,181,149,130,237,67,239,167,27,13,219,117,15,181,149,137,245,20,218,58,25,76,77,42,209,239,21,112,93,205,92,61,111,253,78,217,111,157,91,172,212,195,73,168,223,87,176,50,255,191,106,126,230,155,93,239,40,35,59,117,28,153,243,196,61,220,90,8,125, +12,55,212,69,182,167,41,237,221,198,32,61,35,131,51,58,57,123,36,217,225,158,5,118,92,147,105,167,20,50,59,220,35,228,212,56,215,63,148,57,197,176,82,69,44,147,69,33,96,19,165,58,146,13,27,112,59,147,177,74,90,182,134,4,90,14,56,135,248,231,127,51,255, +229,147,167,130,223,120,233,155,91,181,211,79,206,14,175,254,203,239,182,143,157,104,150,244,93,155,223,235,199,51,115,53,199,166,132,246,108,152,167,181,160,40,104,24,45,83,140,16,44,114,197,200,201,178,248,92,81,168,125,228,33,59,187,189,112,52,28, +81,160,102,119,183,27,116,187,195,241,212,236,201,175,124,246,217,127,112,185,0,181,201,172,27,146,4,101,14,134,44,231,244,19,86,248,192,193,112,11,32,167,189,96,97,156,11,114,226,36,249,145,170,203,45,199,168,146,128,32,103,38,93,237,68,200,214,198, +38,17,94,84,70,1,69,13,188,184,83,6,237,150,109,128,164,217,191,143,144,7,160,137,109,177,164,111,251,48,197,221,123,133,123,233,209,125,123,94,38,186,251,190,157,13,191,15,207,97,145,255,209,180,93,160,222,199,12,139,198,114,224,156,79,197,170,109,0, +135,151,90,74,247,106,243,220,130,69,205,206,105,117,247,65,160,27,179,165,235,182,88,70,226,41,178,144,197,224,248,91,131,42,62,216,142,85,138,191,86,250,118,66,53,42,70,50,176,35,137,164,251,140,204,189,98,123,59,126,180,142,25,223,24,63,89,141,212, +77,204,118,97,152,175,82,200,120,91,133,224,36,169,100,18,184,123,253,21,243,221,7,119,213,31,157,121,42,53,205,134,62,241,200,227,109,38,95,57,215,31,80,186,31,238,220,129,239,220,181,102,235,141,126,52,26,23,81,41,201,97,82,195,8,149,153,53,2,253,67, +130,98,156,145,127,206,161,181,99,13,97,154,253,206,40,139,107,199,254,237,249,207,254,221,255,249,212,163,159,250,22,150,17,33,113,193,33,174,185,165,95,117,69,28,115,103,82,102,222,180,184,140,24,244,164,21,70,49,18,194,137,154,138,149,90,214,146,4, +190,133,144,153,233,185,132,6,172,148,209,243,141,182,157,117,145,240,143,128,140,182,57,155,168,238,192,218,221,7,120,115,112,218,181,94,193,169,229,106,80,95,178,167,146,7,234,102,150,185,115,181,66,109,233,174,8,111,126,251,180,250,60,204,245,197, +175,94,124,135,80,223,83,99,143,78,142,193,159,163,213,112,138,229,24,95,252,237,117,63,67,183,81,55,143,157,198,157,183,16,171,157,110,132,100,148,203,157,93,163,118,65,90,28,15,67,206,46,218,222,237,233,198,84,203,112,94,175,29,105,115,20,72,149,3, +14,83,228,222,54,204,133,27,153,77,204,217,191,210,206,95,176,156,168,148,25,79,94,87,53,119,109,13,57,225,180,100,241,47,83,166,162,185,161,12,34,57,126,178,60,246,200,41,251,196,241,197,114,181,223,207,158,184,125,179,147,180,90,156,128,230,184,209, +160,137,107,44,56,71,94,126,4,40,36,121,92,111,138,123,7,67,61,28,229,65,247,96,96,250,131,242,102,191,31,188,252,232,169,159,248,247,58,108,245,184,0,180,51,190,29,203,72,20,43,116,33,181,150,108,133,83,30,7,8,80,146,113,124,0,77,98,146,173,220,175, +57,184,139,205,177,113,194,65,108,5,177,6,76,181,96,238,52,76,203,190,204,81,108,202,152,91,96,65,217,85,139,59,106,249,237,74,89,109,183,96,121,114,23,190,115,186,84,191,69,77,93,119,236,213,17,30,191,58,30,214,19,127,0,193,78,132,203,216,232,242,229, +11,178,37,8,39,180,77,70,189,113,66,219,12,16,178,236,46,121,83,41,153,89,188,147,24,22,145,207,226,244,203,230,185,144,213,248,101,231,134,237,126,192,13,121,57,73,134,99,204,250,244,183,12,211,169,153,99,109,234,49,167,182,165,156,120,25,112,154,56, +7,80,155,16,161,108,1,108,236,252,54,44,134,169,106,153,232,13,81,114,106,91,201,113,140,37,19,215,70,8,65,25,115,106,57,160,144,13,65,230,196,241,242,216,177,133,236,108,154,22,167,16,27,47,34,174,154,3,19,112,140,177,40,16,49,209,240,16,153,149,97, +54,214,119,32,244,206,221,173,209,157,246,244,199,190,85,218,168,207,40,140,224,71,102,29,195,219,9,215,76,237,35,236,117,156,251,231,56,130,149,255,122,211,43,123,71,100,200,62,32,238,197,117,206,46,78,234,145,29,2,243,114,102,113,100,98,248,221,145, +203,108,132,156,32,132,13,206,152,66,37,67,151,196,156,198,182,111,79,204,183,220,206,27,120,218,148,247,173,172,33,238,87,19,217,56,249,116,25,196,144,186,177,44,11,130,100,196,100,151,50,47,217,138,51,248,48,26,235,181,214,39,5,124,145,219,154,34,11, +181,9,193,46,118,106,154,51,41,238,252,228,157,224,224,219,75,174,81,222,147,125,235,30,175,178,62,97,43,12,6,247,216,171,194,105,123,125,51,222,243,181,199,65,58,14,6,84,208,146,27,254,114,7,20,68,128,131,20,154,155,5,28,27,79,225,234,58,195,30,101, +198,102,20,154,113,196,25,13,80,104,14,204,242,115,137,11,6,22,108,191,148,73,252,44,192,16,215,5,50,40,48,227,65,233,219,42,76,88,117,25,148,210,115,75,196,93,142,113,27,217,29,153,166,38,191,147,157,83,126,32,181,140,96,151,137,48,74,82,169,36,245, +153,115,147,183,87,172,125,40,132,246,140,130,64,72,7,86,186,200,76,79,50,103,67,121,71,96,110,14,31,10,189,31,141,8,150,98,176,55,174,36,9,1,170,144,248,222,202,222,180,81,207,49,137,211,9,138,178,6,9,6,45,191,69,26,35,11,18,18,51,141,5,183,209,185, +229,100,134,34,184,97,169,35,86,94,176,50,93,156,237,173,27,126,87,143,247,26,107,251,1,246,221,185,192,118,15,189,86,109,231,204,253,195,63,183,120,222,169,149,101,203,81,153,225,235,75,150,25,159,77,100,248,159,196,151,19,52,7,226,122,124,199,185,228, +164,236,155,98,123,251,12,225,248,227,234,0,136,32,224,1,3,57,113,27,92,168,229,138,14,103,240,131,106,202,19,228,149,25,235,65,11,202,177,245,160,36,150,250,9,49,117,50,140,210,151,196,177,136,162,40,93,238,159,163,116,142,44,127,22,70,176,231,8,148, +113,98,11,46,1,60,63,199,58,202,40,28,147,24,208,178,220,143,73,58,28,51,129,116,160,106,225,28,16,223,24,192,28,144,13,220,204,39,144,221,3,64,28,69,192,64,65,30,38,178,77,142,196,169,142,251,171,197,126,32,166,180,72,86,154,10,68,84,214,17,167,38,17, +175,199,28,240,227,202,134,79,162,235,36,181,113,85,37,81,140,123,46,223,129,37,203,107,197,52,123,158,170,100,58,133,202,115,71,250,144,123,22,81,168,68,195,11,191,59,244,155,25,174,109,4,19,13,101,42,149,66,229,118,164,239,181,113,225,187,10,246,136, +244,133,178,90,126,225,194,100,24,163,32,99,217,81,239,240,184,41,151,169,42,1,79,136,222,170,227,139,131,192,230,222,50,227,164,227,82,14,27,153,117,194,133,154,58,80,96,43,41,115,252,224,81,25,23,28,82,11,54,176,28,244,108,217,47,163,34,199,137,225, +64,73,238,80,133,245,47,179,128,93,229,183,104,250,24,39,241,164,210,215,69,1,5,204,19,108,184,83,128,159,68,234,119,201,1,104,133,224,32,68,19,198,204,211,148,220,77,2,177,37,135,175,113,56,30,135,94,0,189,114,84,50,132,136,215,4,68,185,16,174,204,108, +146,247,132,55,39,189,137,207,204,71,54,199,155,9,241,224,98,152,224,56,244,38,152,161,12,22,32,129,82,2,35,76,36,156,179,114,36,30,50,84,199,251,12,176,128,193,58,236,245,75,110,50,236,71,198,91,59,85,231,206,209,7,160,43,59,110,63,47,236,100,35,97, +142,216,107,128,27,8,79,42,203,237,89,24,226,108,33,69,199,105,2,243,27,80,164,21,14,45,189,34,5,134,146,92,95,243,187,110,191,219,102,15,239,233,99,39,199,145,129,94,147,50,71,181,190,174,12,119,201,146,201,170,243,27,230,112,111,128,91,8,170,127,60, +212,201,84,18,164,0,70,108,1,228,152,219,225,248,64,239,171,41,21,129,145,138,65,90,112,47,245,58,125,48,66,160,188,59,210,41,64,88,183,231,183,105,73,140,223,74,52,21,16,149,115,223,142,128,251,51,112,62,20,25,42,191,73,18,235,176,57,70,167,240,211, +200,149,128,45,69,63,44,147,90,170,158,25,154,107,139,36,60,169,29,22,163,179,130,25,22,219,9,23,205,22,199,66,230,58,65,237,124,141,179,146,45,69,67,249,141,188,95,138,238,10,154,82,37,37,61,218,249,125,120,72,127,142,57,77,220,111,178,84,112,71,203, +72,123,208,45,219,146,194,10,153,196,19,255,76,201,53,210,148,113,150,101,113,207,96,159,17,112,105,199,200,136,49,43,198,193,211,212,86,126,38,53,246,1,20,35,44,150,124,161,224,88,73,120,115,189,74,154,94,189,138,196,250,202,26,0,212,21,61,41,128,184, +114,101,195,85,116,226,7,3,79,71,5,203,189,1,86,170,157,35,232,183,95,168,70,221,174,172,172,4,100,163,126,122,241,188,254,3,144,211,91,139,183,130,229,246,105,173,222,0,159,28,220,51,73,51,10,118,119,118,21,123,124,194,162,39,147,109,185,83,35,243,181, +245,54,155,162,125,55,188,205,178,144,229,33,54,203,67,132,150,166,77,27,25,177,167,37,211,17,236,231,216,112,7,35,191,3,22,183,37,147,239,69,33,82,239,240,140,195,93,178,232,41,33,204,80,249,25,136,50,10,12,241,18,242,163,213,102,74,190,81,138,85,145, +44,84,15,89,246,10,53,103,35,114,198,68,127,41,37,200,72,218,251,205,149,40,68,230,141,89,237,17,232,90,201,60,114,81,181,40,112,202,26,93,70,61,173,118,203,226,68,161,216,147,251,101,48,196,123,197,133,248,86,241,171,48,232,19,161,54,154,118,60,4,201, +31,239,186,189,162,45,2,132,157,176,76,205,29,198,172,48,195,201,248,172,60,54,211,81,66,70,92,169,246,111,223,184,162,100,148,4,229,80,117,35,188,235,134,74,223,87,176,228,139,57,188,130,233,59,170,232,242,141,109,55,191,50,175,183,217,34,143,15,34, +82,230,198,74,91,220,133,242,103,150,245,201,194,155,247,141,151,183,244,236,98,18,14,191,231,171,44,184,7,79,191,209,15,56,97,38,60,30,6,227,142,7,83,20,50,146,201,102,176,59,54,169,241,91,138,74,19,112,201,82,21,165,71,121,206,145,139,38,229,214,39, +73,108,74,74,62,16,108,20,60,220,254,140,90,92,104,207,108,17,52,1,253,112,70,60,59,198,57,41,205,248,153,23,178,136,140,159,129,33,101,58,80,73,47,68,144,90,145,108,19,226,2,169,122,200,165,0,77,230,80,107,238,138,37,101,43,54,150,253,0,168,217,99,75, +74,148,59,85,50,137,49,40,148,207,216,48,100,197,165,59,142,203,169,208,239,82,41,123,203,130,228,79,166,113,123,80,148,237,118,91,61,128,139,98,246,134,128,105,183,218,199,189,221,60,225,226,91,183,68,64,221,183,109,20,252,91,51,176,148,147,94,229,35, +131,167,43,7,251,174,197,108,223,87,176,149,214,26,223,236,115,65,85,66,118,156,47,68,32,69,147,192,221,40,89,198,200,78,107,238,113,135,244,83,160,216,74,127,63,52,13,238,160,187,139,211,8,63,114,156,123,168,226,232,231,253,128,195,32,155,237,192,68, +121,83,143,247,6,50,45,85,134,125,113,212,235,152,176,199,239,228,204,13,92,229,59,24,191,113,17,107,193,24,6,73,151,30,19,10,92,241,208,78,184,65,29,198,177,241,3,60,34,53,230,108,165,170,220,147,197,218,92,12,212,106,73,17,226,126,10,176,76,32,116, +216,78,100,34,156,130,148,153,12,151,106,7,231,205,45,133,43,187,83,210,228,66,67,101,161,24,111,118,51,242,191,185,55,189,97,157,117,62,4,125,137,248,84,237,0,150,240,4,34,96,206,252,103,242,156,37,165,156,219,113,240,160,176,245,147,211,46,224,140, +172,212,55,52,191,38,27,5,151,50,241,238,201,179,103,213,201,57,95,33,202,65,93,139,0,170,236,131,173,90,37,171,182,20,47,59,253,62,219,140,126,95,84,92,81,139,238,112,227,173,202,182,95,184,176,58,1,83,193,243,207,159,7,65,13,63,112,101,67,176,20,77, +138,218,84,172,45,149,221,141,183,171,226,242,12,171,52,27,208,60,53,173,238,52,97,129,157,148,144,112,53,55,107,128,252,220,132,129,123,178,68,182,224,120,117,34,103,210,112,124,45,17,51,48,111,46,9,249,164,26,201,14,255,71,77,34,104,33,160,161,77,86, +81,128,79,3,49,28,51,53,30,228,4,60,5,51,164,177,223,148,129,243,84,75,155,21,5,231,163,6,0,88,1,43,185,97,153,249,60,68,207,114,29,207,31,19,157,227,253,128,134,242,180,12,50,169,160,195,199,197,164,9,185,65,41,43,36,104,110,107,177,31,128,41,230,217, +11,149,149,35,229,176,198,93,42,108,18,121,255,233,247,110,111,137,80,73,242,79,132,74,176,249,24,210,114,97,225,133,202,222,156,141,117,70,28,247,197,191,250,83,126,229,112,18,173,199,59,218,85,35,240,223,243,248,64,62,246,232,237,163,197,201,212,94, +191,119,248,186,246,64,234,184,121,140,64,136,80,189,27,234,111,247,67,189,200,45,188,129,246,154,200,0,213,30,135,217,29,26,93,118,15,204,168,102,244,20,0,213,30,52,245,100,91,155,157,78,95,79,87,166,121,12,115,204,162,115,154,101,14,146,164,137,165, +105,150,153,139,54,3,145,3,232,83,70,110,220,203,77,163,13,98,36,171,246,145,229,96,176,60,87,147,158,91,106,169,58,236,49,70,66,144,247,243,113,195,234,186,92,6,106,177,81,172,52,126,215,201,72,197,82,26,203,130,187,178,106,115,100,243,84,152,135,101, +204,89,195,67,39,187,81,66,226,37,247,112,47,66,220,1,160,84,192,167,178,17,141,207,111,2,253,82,152,67,34,228,237,3,41,254,206,17,171,114,54,34,51,95,20,106,148,31,179,105,11,4,109,50,46,89,241,25,67,176,228,130,147,71,207,138,48,191,188,181,161,159, +83,203,150,69,132,116,117,47,222,184,226,86,46,67,139,47,93,32,10,174,74,6,222,25,187,30,61,62,64,28,251,78,129,210,113,203,84,84,209,94,175,194,11,231,90,122,109,101,89,253,225,119,118,202,201,230,192,28,207,23,220,206,109,147,53,59,243,236,34,42,185, +51,163,35,34,60,153,180,165,118,54,29,237,187,193,193,190,156,12,102,58,88,130,201,205,117,101,183,79,218,46,156,56,18,230,188,206,236,8,205,32,104,68,33,1,0,206,44,120,85,137,99,105,42,193,102,148,76,151,49,79,36,92,45,121,32,18,6,220,20,88,143,203, +160,34,234,195,234,47,183,29,96,200,2,62,36,231,109,238,149,67,218,94,242,76,150,181,174,208,216,113,144,35,92,179,172,103,162,64,35,92,152,153,25,195,228,102,145,31,75,27,143,11,232,98,202,93,21,109,50,227,196,252,82,168,236,64,164,80,235,244,227,7, +211,37,133,218,2,101,56,172,109,185,59,219,243,101,127,106,9,239,179,80,222,70,174,53,185,127,214,206,44,110,232,47,111,41,183,176,48,148,212,28,195,25,252,181,76,155,94,184,114,161,74,163,78,10,4,222,255,248,64,62,86,222,80,76,178,62,172,230,146,2,170, +181,43,135,117,199,36,48,54,182,193,74,117,253,136,249,159,252,245,57,241,141,108,226,98,43,17,231,27,159,93,65,24,84,211,250,193,14,146,240,212,92,228,230,19,132,66,163,204,179,85,236,89,140,243,150,142,230,148,78,245,80,182,130,61,216,99,191,11,192, +21,71,191,114,138,89,52,217,9,26,26,51,24,203,110,84,177,201,14,23,40,203,58,33,29,157,64,251,216,55,84,11,253,132,150,88,197,111,249,61,172,191,10,234,9,171,41,164,191,40,81,210,179,110,57,190,61,105,251,231,16,24,9,218,29,130,72,193,106,27,15,7,54, +106,166,28,84,11,13,133,230,238,129,148,168,43,41,144,103,156,154,131,124,32,77,200,129,161,25,22,172,46,61,1,17,180,218,246,49,44,232,125,172,83,161,11,59,11,238,160,113,75,54,112,224,231,112,19,7,254,237,108,250,109,69,191,12,78,248,185,231,86,185, +241,242,161,15,101,220,90,213,15,79,66,155,163,254,246,29,199,7,218,102,148,135,116,112,250,54,75,230,164,57,152,218,169,141,53,105,186,93,191,244,80,243,159,95,62,79,186,11,95,82,149,113,118,43,216,64,128,176,204,137,228,75,200,14,109,22,150,19,198, +134,28,150,129,223,60,189,135,16,62,179,42,235,195,171,29,155,51,83,76,234,68,206,244,223,236,105,245,72,75,141,59,3,199,184,119,4,92,67,116,89,111,196,250,160,24,201,34,96,124,152,212,106,0,89,67,61,224,120,175,156,3,191,198,26,169,65,147,64,172,172, +67,99,149,205,72,70,75,69,135,229,251,156,58,26,214,98,23,165,177,46,213,72,58,225,232,164,243,128,93,112,74,79,205,37,16,32,204,64,196,38,0,58,206,164,76,235,44,126,231,132,255,196,113,91,7,182,196,142,238,219,114,102,138,51,166,234,28,160,162,40,84, +164,152,108,255,254,62,44,82,199,53,70,205,114,152,128,235,5,43,115,12,12,244,43,123,165,229,224,23,41,184,94,186,163,102,95,134,80,63,5,161,238,42,119,245,119,175,203,200,37,37,66,85,66,244,175,94,83,110,123,178,117,55,112,235,11,254,244,30,10,178,138, +115,222,83,94,31,216,20,87,194,117,210,213,40,102,249,146,240,148,76,196,179,68,245,69,105,233,99,8,164,202,206,130,114,231,22,21,64,194,64,246,140,97,135,30,95,79,228,55,121,47,246,215,34,151,83,114,43,146,122,60,237,216,77,192,169,218,233,200,185,233, +147,13,191,250,1,170,200,84,49,111,153,142,96,153,113,158,219,240,101,140,17,181,77,36,180,8,155,114,178,193,201,14,202,62,19,131,36,10,96,190,197,76,134,145,152,74,78,243,38,224,33,29,84,166,22,116,194,8,87,249,134,120,30,30,67,122,177,96,12,138,59, +243,33,196,60,198,251,38,53,208,137,184,77,243,202,247,173,147,112,72,173,229,166,193,200,153,202,66,19,215,129,53,195,44,13,191,66,247,118,199,166,112,51,41,231,12,207,250,22,72,178,74,209,108,41,53,216,211,79,88,71,127,58,3,19,204,221,227,94,250,103, +202,178,61,149,243,135,121,78,206,81,168,68,192,204,222,48,250,120,161,18,42,180,149,51,65,142,186,195,247,243,175,242,184,250,144,199,97,74,143,133,182,23,171,109,165,165,215,231,97,24,196,199,23,22,86,165,35,76,182,35,5,51,181,123,194,251,93,38,230, +247,193,135,62,5,234,140,19,61,153,164,39,183,60,217,9,132,241,46,39,150,115,51,166,237,157,158,111,127,200,253,22,38,236,48,144,141,133,73,254,22,236,84,243,75,150,67,38,101,177,12,135,138,225,18,213,130,197,234,12,145,162,60,117,156,87,200,82,7,254, +13,195,49,114,188,137,152,216,201,80,143,94,206,38,110,37,197,102,52,247,212,170,58,22,14,59,6,201,22,179,238,183,89,17,248,123,187,61,233,116,96,149,109,25,212,75,213,61,80,217,28,124,238,8,2,29,146,77,154,130,223,244,59,75,18,87,52,170,218,235,62,76, +241,99,21,72,58,41,37,188,213,166,102,192,37,52,193,28,83,187,60,95,69,26,151,189,64,15,19,56,111,219,9,235,251,9,149,71,160,62,228,193,226,54,36,124,204,242,231,183,245,246,246,138,218,222,190,98,230,215,55,244,154,94,113,171,248,2,219,47,158,214,219, +199,111,233,86,107,71,183,182,22,221,233,227,243,238,229,253,187,68,163,142,13,170,237,182,230,232,79,54,52,43,248,35,53,131,244,206,160,175,213,0,103,113,122,10,238,12,235,102,111,212,81,249,254,72,138,180,147,132,150,180,229,106,181,76,135,83,60,157, +136,250,77,29,185,74,72,106,232,179,241,81,129,196,66,35,87,81,45,116,41,98,26,128,90,246,6,41,250,65,141,108,248,160,143,112,132,215,155,88,149,105,225,198,253,128,91,129,2,237,2,185,194,28,52,17,135,114,236,71,28,64,120,200,0,196,224,137,18,114,212, +131,18,225,20,99,88,39,219,128,78,181,35,144,248,72,146,207,55,129,194,67,36,238,186,160,53,27,229,193,40,118,205,102,2,115,157,56,88,17,71,128,88,48,192,70,224,196,93,56,10,36,205,129,193,28,219,34,51,152,229,252,196,172,27,253,52,40,196,206,188,122, +189,133,133,213,90,84,55,250,167,221,10,119,36,67,24,115,233,26,40,219,35,102,119,117,245,131,107,234,15,33,88,167,87,241,73,95,250,210,151,36,150,229,223,249,237,207,235,47,33,155,127,237,218,37,189,190,189,141,199,127,85,157,122,125,81,49,119,123,123, +29,137,226,165,103,85,111,180,173,119,58,90,5,35,152,231,207,62,169,166,92,91,141,0,156,6,56,127,41,253,30,178,237,7,33,183,233,5,227,4,253,169,1,28,197,8,57,198,56,105,108,3,233,197,35,110,228,170,144,231,84,249,38,39,138,227,140,231,13,151,128,247, +139,226,129,26,179,105,181,172,115,47,19,58,11,215,226,136,1,64,89,182,143,192,86,184,160,1,205,219,31,128,255,77,108,29,26,24,104,41,86,119,181,216,111,199,67,234,79,215,113,157,179,12,235,153,29,176,7,9,120,107,38,102,70,106,36,147,231,220,128,141, +53,77,228,78,247,45,204,131,59,121,188,237,250,61,214,79,239,178,114,205,206,115,19,68,102,245,240,59,64,35,178,15,71,189,9,235,116,26,9,146,128,46,169,115,198,253,2,132,186,69,254,247,11,74,45,254,186,146,209,8,176,118,18,151,206,207,43,253,165,109, +57,205,52,201,250,243,191,35,66,117,31,86,168,242,92,245,3,30,23,47,94,52,135,125,62,19,128,86,109,69,74,147,76,20,247,252,243,103,196,44,115,136,53,59,176,39,219,167,113,123,82,142,65,231,196,236,147,143,223,49,119,192,45,179,11,191,172,98,94,130,140, +100,58,10,56,210,143,102,249,46,180,37,108,4,135,139,144,9,251,8,102,90,250,92,248,79,171,169,226,57,141,56,24,231,248,110,223,219,73,153,12,219,80,161,12,234,240,251,20,200,12,165,216,255,229,163,137,20,107,179,183,162,95,189,179,191,206,226,50,14,248, +32,229,105,14,172,205,105,102,231,90,142,108,153,238,192,207,2,217,167,194,247,58,183,71,147,251,148,199,12,52,187,210,142,177,200,46,201,5,123,251,214,45,153,49,44,9,115,229,83,113,63,245,244,89,25,197,47,155,34,41,159,45,91,243,189,170,130,120,39,123, +246,122,183,230,141,177,47,8,255,224,66,229,241,161,53,118,114,124,245,171,95,149,191,76,196,175,174,126,85,186,244,192,31,3,197,173,112,187,105,36,13,86,212,235,175,191,162,90,173,68,111,169,45,117,78,159,119,127,88,124,79,133,39,140,154,126,98,222, +149,175,76,187,109,72,112,62,57,48,119,110,23,140,109,85,45,145,89,19,42,175,5,102,120,31,38,13,34,33,93,119,239,14,211,36,136,127,225,254,130,7,0,51,219,82,100,164,187,48,215,41,205,107,43,65,176,209,211,195,3,72,192,52,221,112,8,173,198,253,233,56, +118,163,160,71,226,30,132,109,195,245,65,0,142,11,233,38,119,73,131,218,5,31,138,88,165,221,140,96,41,34,167,99,166,211,35,59,24,140,132,41,42,70,145,173,185,216,13,161,141,92,30,101,183,131,239,153,56,189,11,227,208,236,112,8,118,73,116,166,33,212,233, +71,181,222,27,129,236,236,112,46,195,35,54,131,107,57,190,184,167,255,226,207,51,87,215,35,142,190,113,211,72,176,47,130,119,125,243,27,126,170,218,241,227,94,75,39,9,22,178,75,32,32,44,140,160,28,23,47,174,186,175,126,117,117,114,158,213,135,57,126, +96,141,229,81,181,77,28,214,71,225,75,225,219,92,82,108,42,89,7,226,134,207,229,150,211,135,200,155,149,23,157,206,121,25,99,51,1,86,188,127,50,241,77,38,171,222,58,173,56,207,8,249,2,189,5,96,197,221,73,210,230,188,126,163,135,228,3,174,115,115,68,238, +163,199,189,8,198,131,93,206,48,214,163,177,7,94,41,72,15,154,247,36,157,214,113,218,213,140,73,219,162,209,28,142,205,57,15,109,197,22,69,38,34,14,240,31,167,182,178,115,60,29,181,132,44,97,3,55,143,125,185,142,247,27,78,154,206,166,92,88,204,0,217, +63,96,133,173,28,108,191,96,83,26,105,193,73,41,139,60,0,203,19,158,92,170,226,207,155,234,107,191,159,57,224,163,67,144,196,105,178,175,44,92,215,191,117,238,188,83,171,170,36,31,176,177,242,208,220,78,64,232,164,250,112,178,229,235,135,213,216,31,74, +176,147,227,33,159,236,143,75,213,236,178,229,53,229,227,93,32,229,27,55,86,29,169,199,231,88,191,94,29,175,44,40,125,253,11,215,213,226,153,243,48,209,55,165,16,125,178,211,229,109,160,231,133,69,191,183,27,203,48,39,59,70,49,108,160,112,135,93,248, +199,22,16,50,51,71,48,215,29,25,147,211,81,35,196,72,28,142,61,74,15,180,222,109,217,36,219,151,173,78,246,56,105,76,77,171,228,228,129,30,223,181,142,155,41,140,129,138,166,167,253,164,135,238,171,96,141,150,252,251,140,250,16,118,99,79,215,241,94,172, +110,224,227,205,83,199,156,186,207,158,224,123,142,37,64,159,56,34,80,238,147,64,22,137,207,99,251,11,127,11,211,110,204,120,177,145,141,169,77,198,169,175,93,61,111,73,17,50,60,164,240,46,168,135,200,151,71,181,49,210,132,132,80,74,169,15,37,204,163, +199,135,138,99,63,232,113,193,85,254,97,205,151,111,76,182,158,134,105,17,254,147,43,86,246,140,193,177,216,2,204,95,33,251,114,86,118,9,225,193,253,101,118,222,232,151,91,192,153,143,45,46,88,158,188,96,148,219,143,61,113,66,42,248,134,97,94,194,132, +137,214,156,156,67,46,160,91,148,35,196,196,20,4,95,31,76,91,59,238,35,195,62,93,90,178,62,81,217,182,76,106,103,230,94,217,78,155,229,35,39,0,221,194,172,156,71,120,27,237,88,123,31,233,52,198,157,123,172,18,236,20,229,60,139,202,194,86,185,123,107, +92,48,87,218,60,229,220,246,245,45,59,78,16,225,84,37,64,76,136,199,248,110,244,159,119,145,24,239,238,40,199,203,108,207,11,85,126,200,246,125,252,93,182,156,23,209,61,215,117,28,245,78,161,78,206,211,164,94,91,102,250,95,196,237,203,202,30,33,247,127, +96,161,242,248,72,52,118,114,76,70,246,189,240,194,149,128,153,126,17,238,197,11,178,171,165,108,163,134,36,241,5,191,39,173,234,60,127,221,176,240,153,175,155,236,116,249,232,120,202,252,235,127,118,214,2,45,234,77,36,238,159,71,26,240,238,55,110,74, +117,6,133,77,192,149,169,68,118,180,144,215,41,223,98,200,235,199,42,224,69,141,86,236,182,255,46,98,202,234,58,77,56,146,225,242,188,238,224,173,179,245,217,74,177,125,223,95,7,54,80,61,102,93,148,116,136,138,70,202,3,176,28,253,125,255,57,212,206,187, +85,133,3,167,184,223,172,222,103,247,238,134,52,36,115,18,123,50,102,97,183,223,27,251,234,85,210,130,87,0,144,214,216,72,46,212,171,20,164,85,241,63,181,20,119,87,61,127,31,14,249,190,223,241,87,161,177,218,111,10,79,94,249,194,225,186,67,78,126,178, +245,180,220,227,133,186,42,197,113,231,182,206,59,142,65,255,227,221,179,229,226,175,111,104,14,167,58,127,228,13,125,226,217,191,46,22,45,246,154,44,233,65,158,233,165,37,17,66,112,140,101,37,133,29,80,136,39,72,92,20,118,190,61,95,82,168,67,48,12,211, +72,102,243,62,150,160,204,39,243,37,181,95,237,227,111,215,223,110,35,104,162,80,137,108,31,32,121,193,69,195,177,12,47,125,99,161,60,184,179,84,122,237,36,139,118,83,157,132,32,255,24,23,230,78,119,191,163,202,133,231,151,221,43,176,62,20,170,215,208, +117,119,245,234,21,75,161,17,244,110,108,92,114,60,47,116,77,212,84,225,218,47,92,146,173,210,201,13,124,228,66,80,31,241,113,184,163,165,159,197,109,160,189,66,94,179,156,102,226,63,228,71,41,214,200,74,239,137,90,95,95,247,53,84,114,172,30,190,215, +194,166,210,204,120,244,85,221,252,225,239,238,148,212,6,234,201,68,200,143,173,220,146,247,225,140,199,103,0,188,182,153,112,184,195,124,176,15,47,188,150,43,77,19,89,132,119,12,169,60,94,231,125,242,1,8,71,78,224,57,47,227,49,217,85,153,172,208,83, +169,217,248,86,225,118,106,133,99,126,84,198,200,190,122,244,23,122,29,37,30,120,110,101,217,178,176,111,251,69,143,114,177,32,53,139,186,233,122,164,156,5,241,140,76,106,87,222,151,226,169,230,26,80,239,242,101,225,128,223,158,56,255,200,180,149,199, +71,174,177,213,151,147,233,130,132,232,236,4,35,82,231,202,156,32,118,233,148,175,144,32,239,219,222,222,246,60,243,69,110,231,181,46,1,59,47,51,157,43,182,179,176,236,254,112,115,167,60,255,91,136,59,17,3,178,192,107,115,230,186,83,219,202,54,20,82, +103,155,167,75,206,101,104,225,47,181,105,73,29,148,220,31,72,114,194,18,43,223,148,207,9,69,211,110,85,241,51,62,27,66,229,115,238,225,246,210,157,131,242,211,172,51,186,191,111,55,112,125,246,153,194,253,202,175,156,21,173,36,73,159,60,173,44,181,146, +19,71,95,130,70,202,56,158,149,251,22,168,95,173,86,25,152,229,229,43,238,220,57,126,111,210,130,107,50,117,71,90,27,47,120,179,75,11,198,20,28,221,82,37,84,30,78,85,163,242,62,74,161,138,28,212,95,221,161,39,112,221,183,220,248,59,57,176,100,210,162, +176,60,217,99,124,210,191,171,170,58,141,11,190,203,143,87,55,54,214,15,119,155,166,249,246,215,207,203,76,12,142,79,248,181,133,183,254,6,191,83,227,245,195,113,247,147,131,104,251,165,175,239,91,78,92,161,47,228,95,249,14,43,28,217,235,91,67,169,129, +156,142,67,2,129,143,17,181,147,152,167,49,161,54,146,100,153,52,69,201,215,188,176,202,223,35,181,95,210,253,38,153,152,117,16,55,50,96,84,246,183,39,174,224,100,23,142,199,195,253,71,5,170,14,103,227,170,143,86,91,229,253,212,95,211,113,52,229,119, +244,126,191,207,15,171,218,17,36,93,186,112,120,255,68,232,28,173,75,13,120,184,83,188,167,105,184,209,193,115,188,82,153,66,63,221,102,93,209,148,19,121,19,156,113,1,108,125,113,221,177,8,128,36,59,183,13,219,250,98,87,110,179,69,165,83,109,254,199, +131,241,229,106,53,72,133,199,252,6,219,89,30,150,80,123,79,177,238,191,27,71,253,34,92,121,238,185,117,3,122,213,202,246,24,23,149,44,72,186,158,53,95,91,175,94,184,252,66,233,170,200,229,162,187,164,47,168,11,246,253,82,109,31,229,241,215,38,88,30, +147,64,155,113,239,145,197,42,135,207,16,249,9,99,87,174,176,149,196,247,126,250,132,190,220,171,56,94,174,138,141,137,38,197,143,145,185,225,89,95,157,236,59,195,114,157,195,119,245,215,230,231,215,228,125,145,176,112,220,115,158,73,236,86,235,186,254, +242,151,187,146,208,6,26,150,13,0,231,63,47,211,186,237,100,71,100,89,92,248,30,236,26,191,60,97,135,38,45,165,4,65,36,19,160,165,55,94,240,143,107,128,160,139,30,32,170,11,23,14,23,233,91,52,145,12,29,232,88,171,254,138,143,191,146,56,246,189,142,195, +166,92,169,174,123,171,95,145,249,141,48,209,27,27,27,142,254,248,70,181,253,26,125,49,181,99,237,133,53,241,79,190,41,73,149,43,213,253,32,201,203,85,229,133,193,19,253,2,17,11,46,243,243,235,208,156,53,241,119,215,174,173,123,225,201,177,106,41,188, +127,250,79,207,91,154,70,10,91,214,205,218,21,17,252,197,11,19,215,112,73,62,155,87,87,170,240,68,201,140,73,95,49,200,251,233,43,15,113,255,5,169,202,159,8,181,26,120,161,15,199,7,76,46,127,29,66,253,127,204,33,179,69,156,108,206,106,170,235,154,245, +204,71,238,63,122,123,114,93,46,107,107,151,131,201,237,203,151,253,245,203,151,93,0,153,6,126,134,6,46,234,225,125,188,48,153,51,121,156,239,55,121,143,201,109,38,56,220,197,135,159,203,247,61,250,221,142,126,143,163,223,235,232,115,38,191,75,253,232, +248,224,135,63,121,213,228,8,117,209,136,32,14,133,224,2,255,248,195,251,222,190,40,46,30,17,154,23,170,127,46,5,206,235,254,242,78,65,170,31,29,127,117,199,81,109,56,114,194,143,104,140,82,15,47,111,21,226,81,43,112,244,246,219,223,239,221,4,250,255, +54,193,254,127,98,21,30,61,233,250,97,67,139,59,250,216,36,75,242,246,215,190,219,253,71,239,251,168,195,144,31,29,63,58,126,116,252,232,248,209,241,255,155,227,255,6,74,236,217,76,222,25,217,71,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* logo_png = (const char*) temp_binary_data_10; +} diff --git a/LatestCompiledAssets/BinaryData12.cpp b/LatestCompiledAssets/BinaryData12.cpp new file mode 100644 index 0000000..5b2734c --- /dev/null +++ b/LatestCompiledAssets/BinaryData12.cpp @@ -0,0 +1,29 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== search.png ================== +static const unsigned char temp_binary_data_11[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,36,0,0,0,36,8,6,0,0,0,225,0,152,152,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,3,66,73,68,65,84,120, +1,205,87,189,114,211,64,16,222,147,9,147,210,37,165,58,38,52,142,171,76,42,204,19,196,36,48,67,103,249,9,172,60,1,118,69,25,65,69,135,66,197,12,144,132,39,64,233,76,21,49,195,144,86,188,129,41,97,198,94,118,207,146,238,172,72,103,89,86,112,190,153,76, +116,231,211,233,187,111,127,110,87,192,10,112,186,110,19,182,192,134,41,236,210,208,78,127,16,16,130,5,145,255,209,11,97,77,136,50,139,156,103,110,7,17,95,2,74,34,77,195,210,136,118,12,196,150,24,249,31,188,8,234,38,164,17,233,192,234,59,251,85,136,21, +18,234,29,14,78,232,159,123,243,5,65,42,96,0,40,126,201,9,36,197,44,108,97,190,122,17,173,31,249,103,158,15,85,9,177,159,96,3,207,51,170,76,104,227,215,112,31,124,211,137,89,81,242,47,7,5,246,244,121,4,28,190,63,123,51,130,42,132,122,71,131,171,216,87, +230,11,4,92,192,84,244,253,11,111,2,37,225,60,119,119,113,74,135,210,28,159,14,116,76,74,121,203,222,93,32,148,53,83,44,247,16,42,128,148,182,99,165,213,225,44,241,196,255,228,5,80,134,144,115,228,118,201,129,207,235,32,163,145,98,243,127,213,72,69,98, +38,218,38,181,173,228,129,200,156,164,100,40,66,214,37,195,224,15,139,169,120,74,143,9,1,155,190,232,154,222,145,132,88,29,80,246,142,128,194,21,106,2,145,226,72,59,78,198,228,224,3,153,96,77,132,144,220,39,153,32,117,130,170,73,173,144,212,60,236,163, +120,72,105,2,186,96,34,68,246,82,11,106,84,71,7,169,116,170,6,248,184,104,157,37,115,135,122,43,172,91,157,20,13,74,31,49,208,144,249,45,152,105,185,98,22,103,223,91,64,124,241,166,206,93,228,71,108,50,59,29,241,173,125,187,80,225,190,13,133,132,238, +20,152,144,98,141,198,210,226,191,96,145,144,110,190,154,17,251,140,157,140,139,130,135,157,58,72,6,104,8,199,181,113,79,221,105,38,95,181,56,147,130,82,169,185,144,6,106,4,206,180,228,11,6,66,114,1,170,164,37,43,196,154,193,55,63,237,172,146,175,208, +146,100,30,33,146,211,79,103,40,105,213,173,18,90,56,0,85,77,70,166,18,68,18,146,73,75,104,153,116,134,239,76,23,224,42,136,15,183,80,99,153,214,167,121,136,202,4,190,145,211,76,202,117,204,186,164,100,145,70,135,75,191,49,47,107,124,40,67,40,91,38,112, +81,37,73,189,96,251,87,32,195,29,139,133,87,160,66,125,82,230,226,110,232,131,240,122,28,182,119,246,185,138,236,196,83,15,168,104,239,210,220,111,254,13,74,128,85,109,61,218,123,69,7,122,11,124,65,40,108,83,157,61,249,126,253,237,210,244,126,110,27, +228,28,186,67,42,164,178,209,22,201,206,163,65,245,82,166,67,149,166,165,60,67,161,125,64,210,58,176,216,14,77,244,241,178,14,164,176,47,147,146,207,237,111,23,44,137,180,231,220,53,66,136,128,90,239,62,252,165,214,72,59,160,137,84,3,10,16,254,28,71, +237,135,251,167,180,233,159,248,131,89,7,111,106,127,55,136,80,135,209,247,63,123,163,240,199,120,66,230,14,116,87,32,165,59,173,157,61,200,51,95,169,222,158,65,102,116,40,131,30,196,29,170,157,67,34,164,107,232,146,11,177,162,60,147,117,133,60,165,74, +19,90,216,152,125,70,171,103,86,169,50,151,145,170,68,104,93,152,72,53,96,3,48,249,212,70,20,74,144,85,138,136,245,55,162,80,130,28,165,190,192,93,0,71,176,140,98,194,63,250,252,124,184,174,6,177,51,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* search_png = (const char*) temp_binary_data_11; +} diff --git a/LatestCompiledAssets/BinaryData13.cpp b/LatestCompiledAssets/BinaryData13.cpp new file mode 100644 index 0000000..66f7702 --- /dev/null +++ b/LatestCompiledAssets/BinaryData13.cpp @@ -0,0 +1,28 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== timing-off.png ================== +static const unsigned char temp_binary_data_12[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,27,0,0,0,32,8,6,0,0,0,227,105,3,59,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,231,73,68,65,84,120, +1,221,87,221,109,19,65,16,254,102,29,243,138,169,128,165,3,167,131,164,130,196,9,72,60,37,151,6,146,75,5,113,58,56,211,0,23,158,144,32,137,59,136,169,0,211,193,150,224,71,20,97,15,51,123,235,99,157,248,236,59,99,241,192,39,89,218,211,206,206,183,51,59, +127,38,172,64,210,75,115,38,62,69,77,208,11,122,147,127,206,92,213,190,193,63,196,255,75,182,179,114,215,96,72,76,14,117,241,19,147,85,219,132,154,72,222,167,22,143,216,147,101,39,252,156,92,198,225,23,198,249,48,155,212,209,177,146,44,57,76,45,27,92, +0,156,4,130,42,45,35,241,192,77,126,151,229,104,74,38,36,29,54,124,37,203,20,205,224,136,232,50,191,205,134,203,54,159,5,72,242,46,237,10,209,247,152,72,20,140,8,116,73,45,218,165,25,189,186,185,27,144,230,20,25,218,87,139,148,36,136,90,102,190,63,57, +58,191,194,58,203,60,209,148,31,16,92,166,36,104,227,108,85,162,150,103,143,210,148,225,189,209,9,154,243,155,219,193,217,82,178,226,125,188,69,5,145,88,34,111,144,161,1,130,14,189,172,213,111,33,239,127,186,251,112,61,223,47,221,24,132,54,38,82,72,84, +58,113,243,62,130,91,69,79,63,121,155,238,45,144,137,11,146,249,109,68,224,122,19,162,37,132,62,29,120,198,31,23,200,130,175,21,78,136,250,104,0,13,6,159,131,79,9,65,131,240,105,147,227,244,208,147,133,133,23,86,171,208,0,39,199,231,23,234,42,126,244, +79,176,136,25,212,59,133,117,224,11,79,198,140,131,72,96,136,154,208,96,144,176,207,194,37,7,79,247,181,170,132,180,80,182,61,205,93,3,226,174,63,32,97,94,183,236,68,81,39,199,105,80,249,198,6,163,114,189,131,174,17,86,139,194,170,31,168,9,110,249,71, +183,98,210,56,191,207,170,171,204,20,227,114,61,131,213,0,153,39,97,61,171,52,148,217,23,100,71,109,234,173,17,143,117,218,198,253,44,255,154,141,196,229,61,41,93,189,58,149,37,38,214,126,166,7,196,37,252,186,238,169,170,66,251,12,109,209,59,13,107,130, +147,0,33,239,87,46,92,179,93,76,209,141,214,206,16,227,91,248,180,113,105,217,6,162,201,204,73,164,143,141,68,73,94,110,114,253,177,109,29,52,61,66,32,137,243,138,20,48,62,183,194,135,108,38,218,102,176,5,72,135,255,211,211,218,69,101,242,209,40,77,240, +178,20,154,242,189,102,59,254,2,69,243,244,163,132,90,149,207,163,214,147,229,95,178,177,182,149,32,107,37,105,31,54,37,148,122,121,170,245,50,124,186,185,85,158,120,65,80,198,109,138,30,85,90,255,126,221,92,90,50,183,76,228,252,110,124,158,158,30,152, +17,50,138,231,123,113,131,84,138,235,42,82,239,1,131,36,84,118,91,18,181,228,162,226,177,88,118,249,116,117,148,246,163,30,55,151,212,131,78,10,175,175,161,12,188,244,69,156,125,46,117,98,57,45,99,203,46,87,57,55,250,208,37,244,27,252,139,153,172,235, +242,107,39,98,79,106,112,40,86,28,72,150,90,177,216,150,202,73,70,243,153,20,133,22,134,90,51,215,233,250,13,140,194,63,59,254,43,233,232,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* timingoff_png = (const char*) temp_binary_data_12; +} diff --git a/LatestCompiledAssets/BinaryData14.cpp b/LatestCompiledAssets/BinaryData14.cpp new file mode 100644 index 0000000..6f552e2 --- /dev/null +++ b/LatestCompiledAssets/BinaryData14.cpp @@ -0,0 +1,28 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== timing-on.png ================== +static const unsigned char temp_binary_data_13[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,27,0,0,0,32,8,6,0,0,0,227,105,3,59,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,248,73,68,65,84,120, +1,221,87,75,78,27,65,16,173,234,25,67,118,33,155,72,136,79,134,27,12,55,176,79,144,112,2,204,9,192,18,24,101,133,189,138,8,72,192,9,48,39,192,55,176,115,2,38,39,200,40,88,33,75,86,17,193,51,93,169,238,158,143,191,67,27,172,44,120,210,88,221,170,158,121, +221,213,85,175,202,8,5,160,222,113,11,16,183,193,22,34,222,192,229,207,225,84,51,252,71,188,94,50,183,208,42,157,54,56,113,8,182,120,120,115,95,100,70,176,4,221,125,241,32,118,202,32,112,9,72,242,131,33,56,252,60,184,1,110,212,238,109,190,129,197,4,103, +76,16,237,242,170,42,207,150,166,127,5,187,32,233,10,87,235,45,152,149,140,126,156,45,193,98,116,4,68,123,48,27,66,136,169,134,235,135,237,73,198,177,0,161,222,153,15,139,253,155,33,34,181,115,196,26,16,108,194,227,159,119,184,82,71,149,83,32,177,194, +235,174,120,203,97,178,210,99,215,94,211,221,201,17,60,117,50,77,132,81,39,115,153,38,137,118,138,18,53,127,247,120,15,80,28,229,238,22,45,92,217,223,153,72,166,239,71,70,55,217,98,98,119,172,30,158,195,12,208,65,68,78,135,61,224,25,62,108,224,242,65, +51,181,231,110,164,126,231,37,68,122,231,202,3,24,87,50,183,74,106,208,237,73,121,136,140,122,95,171,217,110,36,53,159,67,52,70,8,104,210,65,208,229,16,25,255,166,23,26,226,218,97,3,102,128,10,6,125,5,163,132,32,47,146,169,71,191,78,63,25,222,159,60, +72,79,69,208,132,25,64,191,79,119,149,171,64,170,43,24,193,227,194,121,118,58,160,93,77,6,14,124,204,22,244,75,109,176,37,210,9,47,141,187,137,46,70,237,90,85,84,90,24,123,89,229,174,224,129,111,172,216,181,149,29,77,68,201,105,36,92,76,189,99,41,186, +217,216,141,124,193,145,227,25,3,125,7,91,80,116,153,184,62,192,181,250,116,149,41,245,131,108,140,228,137,60,129,201,238,84,42,148,217,45,160,164,73,196,91,133,139,7,171,128,33,155,13,184,118,208,133,88,108,241,201,182,108,148,37,127,17,238,93,157,128, +218,37,248,193,250,189,245,125,187,64,42,245,189,124,226,132,28,32,144,250,181,12,243,135,159,141,92,201,100,136,223,146,169,55,40,45,115,129,200,58,179,16,223,215,3,1,127,221,214,4,227,139,97,210,67,7,146,66,215,124,94,229,150,42,37,26,178,202,58,233, +195,60,32,227,188,166,137,88,43,147,137,70,73,181,204,128,112,173,43,245,11,96,138,167,172,38,211,86,26,181,154,140,123,135,64,149,149,196,232,193,66,191,243,92,66,186,59,221,214,122,105,16,166,167,210,60,67,11,123,39,220,110,211,118,190,176,84,193,229, +90,8,54,36,99,125,11,139,176,136,54,7,115,17,199,94,40,69,231,3,132,160,202,59,8,167,57,141,52,33,169,106,101,79,171,135,34,34,170,104,143,13,96,114,119,117,123,220,224,208,25,109,90,2,35,0,137,134,146,120,203,151,224,51,129,63,210,230,5,74,198,38,169, +203,212,190,209,52,165,162,97,255,47,70,157,70,22,86,249,39,59,98,211,196,184,170,210,114,221,35,111,200,85,234,94,101,204,162,224,180,181,102,62,129,127,223,116,102,170,183,33,227,63,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* timingon_png = (const char*) temp_binary_data_13; +} diff --git a/LatestCompiledAssets/BinaryData2.cpp b/LatestCompiledAssets/BinaryData2.cpp index a106748..bf3c71d 100644 --- a/LatestCompiledAssets/BinaryData2.cpp +++ b/LatestCompiledAssets/BinaryData2.cpp @@ -9,7 +9,7 @@ namespace InspectorBinaryData { -//================== Clear.png ================== +//================== clear.png ================== static const unsigned char temp_binary_data_1[] = { 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,54,0,0,0,54,8,6,0,0,0,140,69,106,221,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,5,32,73,68,65,84, 120,1,213,154,191,83,27,71,20,199,191,123,39,35,108,96,116,144,9,200,54,16,217,51,100,66,6,140,82,89,157,69,231,46,249,15,34,255,5,56,101,42,226,46,165,243,23,216,116,41,113,151,206,114,101,117,145,131,146,204,56,147,68,19,203,65,34,193,136,12,216,144, @@ -32,5 +32,5 @@ static const unsigned char temp_binary_data_1[] = 107,145,190,16,72,83,4,238,233,44,18,51,90,214,199,211,186,130,102,64,251,45,200,81,170,192,162,150,239,249,67,104,210,211,10,211,126,9,170,180,19,226,155,208,232,232,195,108,62,109,212,89,8,100,233,44,79,143,210,133,72,82,126,42,13,59,209,44,35,133, 216,228,241,84,238,60,151,206,182,131,37,45,94,236,12,220,161,225,140,67,255,32,38,165,103,177,51,149,199,168,121,35,17,170,77,72,249,130,235,46,185,128,23,59,255,7,226,148,132,15,60,166,43,59,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* Clear_png = (const char*) temp_binary_data_1; +const char* clear_png = (const char*) temp_binary_data_1; } diff --git a/LatestCompiledAssets/BinaryData3.cpp b/LatestCompiledAssets/BinaryData3.cpp index b613ee1..7b82583 100644 --- a/LatestCompiledAssets/BinaryData3.cpp +++ b/LatestCompiledAssets/BinaryData3.cpp @@ -9,18 +9,15 @@ namespace InspectorBinaryData { -//================== Eyedropper-off.png ================== +//================== dogfood-off.png ================== static const unsigned char temp_binary_data_2[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,37,0,0,0,36,8,6,0,0,0,14,194,243,166,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,54,73,68,65,84, -120,1,205,152,61,86,194,64,16,199,103,2,246,28,33,150,118,90,218,233,9,196,175,247,172,52,94,64,227,9,132,27,196,19,184,116,22,42,120,2,177,179,147,206,22,111,144,218,247,200,56,179,11,24,48,72,194,38,36,255,247,120,201,110,54,187,63,118,103,103,38,139, -176,38,121,39,254,30,17,93,0,193,30,23,93,254,133,128,48,64,194,142,122,14,84,188,45,194,26,116,126,116,117,139,128,173,133,13,16,20,142,240,70,245,130,80,138,14,148,13,36,34,240,168,70,221,73,177,6,5,202,107,250,46,207,66,47,101,115,119,103,107,247, -107,240,249,62,40,118,166,28,104,102,105,78,200,54,7,5,47,31,15,114,144,237,5,189,9,138,131,226,165,107,76,6,201,170,58,228,32,13,80,135,237,153,202,104,174,156,78,97,46,80,222,169,191,77,35,122,101,136,6,88,10,17,7,114,181,90,62,217,93,26,8,236,129, -180,8,58,114,177,155,41,179,187,114,1,98,207,126,167,186,198,179,219,25,122,4,74,66,5,88,106,12,228,79,203,96,41,49,114,246,198,175,60,245,153,12,155,189,252,144,223,121,97,247,221,83,143,65,63,254,44,143,221,39,91,63,245,18,34,199,57,216,192,182,122, -8,134,139,218,216,27,186,163,13,221,29,87,133,75,95,34,124,251,15,200,10,106,30,136,151,163,141,17,110,230,97,99,43,65,37,1,113,78,212,146,212,131,83,144,125,174,26,130,133,50,67,45,2,154,60,143,156,232,26,126,151,179,120,168,101,64,9,185,211,48,97,196, -191,117,127,154,228,5,116,124,117,29,7,226,251,75,182,177,157,184,141,233,119,230,182,127,146,82,249,169,20,64,23,236,0,85,28,104,146,119,235,96,141,208,226,191,223,87,79,65,170,132,111,41,148,13,208,170,194,170,1,153,126,42,6,100,250,170,24,144,233, -175,98,64,166,207,138,1,137,102,252,84,21,128,76,223,99,141,115,237,15,93,201,233,133,122,186,187,44,3,72,244,59,83,81,44,94,33,118,202,2,18,77,147,60,34,152,249,112,244,206,124,55,250,142,4,168,181,78,32,51,14,36,6,82,73,214,26,179,13,215,3,164,199, -74,113,42,18,162,131,135,105,2,105,94,170,51,144,55,95,201,31,133,125,157,212,35,167,25,35,14,164,207,193,242,52,55,103,168,54,1,221,79,129,204,201,154,7,37,170,38,231,65,114,46,196,247,77,13,212,45,23,72,244,3,136,248,68,216,245,109,26,217,0,0,0,0,73, -69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,24,0,0,0,24,8,6,0,0,0,224,119,61,248,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,1,118,73,68,65,84, +120,1,237,146,59,79,2,81,16,133,207,92,22,67,73,105,39,84,82,210,152,16,27,30,177,176,164,180,195,127,32,36,74,236,132,78,209,100,163,157,149,150,22,38,196,218,196,197,198,154,202,104,37,118,154,88,64,97,133,59,227,44,207,4,65,8,104,183,95,115,103,231, +206,158,121,220,1,124,124,124,254,29,154,22,176,103,59,113,50,156,96,230,167,160,101,189,125,49,103,73,76,18,34,177,74,33,19,157,246,191,53,233,34,111,59,225,165,0,98,96,228,192,180,101,200,156,171,120,147,24,33,34,9,1,114,131,25,152,152,96,9,188,13, +23,97,8,90,100,168,46,234,243,196,133,40,168,246,131,182,222,46,158,57,9,184,238,50,27,132,78,118,54,174,198,233,140,29,209,174,125,155,10,144,149,19,145,53,21,107,18,225,177,115,33,88,31,70,201,53,145,89,213,152,4,105,55,12,115,121,92,72,215,71,181, +204,168,195,27,141,129,73,177,240,135,126,126,106,5,65,21,105,169,221,30,141,213,152,119,61,158,187,74,188,89,186,112,66,191,118,80,180,157,3,173,172,132,133,160,82,165,144,46,255,72,176,111,59,17,134,188,224,15,48,160,232,97,33,221,240,236,193,35,51, +220,120,231,138,80,59,202,103,210,152,3,157,64,85,39,144,213,170,85,11,141,110,178,1,228,57,117,189,229,30,115,34,224,215,110,177,156,234,251,6,9,8,148,244,206,0,76,29,115,162,219,84,235,89,145,190,207,26,102,215,157,87,92,72,181,104,223,97,65,86,250, +134,25,26,116,74,189,185,45,72,83,64,101,248,204,202,55,255,70,130,160,84,27,213,206,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* Eyedropperoff_png = (const char*) temp_binary_data_2; +const char* dogfoodoff_png = (const char*) temp_binary_data_2; } diff --git a/LatestCompiledAssets/BinaryData4.cpp b/LatestCompiledAssets/BinaryData4.cpp index e7d3d5b..8edd82d 100644 --- a/LatestCompiledAssets/BinaryData4.cpp +++ b/LatestCompiledAssets/BinaryData4.cpp @@ -9,18 +9,21 @@ namespace InspectorBinaryData { -//================== Eyedropper-on.png ================== +//================== dogfood-on.png ================== static const unsigned char temp_binary_data_3[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,37,0,0,0,36,8,6,0,0,0,14,194,243,166,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,52,73,68,65,84, -120,1,205,152,65,114,218,64,16,69,127,131,146,176,100,155,114,72,193,13,200,13,200,9,146,156,0,124,2,199,11,227,202,42,98,149,42,219,85,84,78,16,113,130,216,39,48,57,65,184,129,89,224,194,75,22,222,128,197,180,123,6,11,144,1,11,121,132,196,95,104,52, -163,158,154,87,61,211,173,150,8,41,137,135,231,53,40,174,131,80,3,163,12,208,72,238,123,50,214,161,15,77,111,217,150,144,130,4,232,167,44,238,110,182,200,121,152,228,143,169,114,60,50,61,100,14,164,165,26,120,231,255,13,122,59,245,20,15,219,101,168,135, -155,237,39,224,80,111,229,110,61,197,254,215,88,246,57,170,155,6,187,213,151,88,214,204,53,221,236,12,138,111,218,197,96,145,184,114,144,128,12,64,193,175,134,7,165,207,136,171,81,34,80,60,104,87,65,254,181,68,88,17,182,34,234,233,198,106,251,76,116, -105,32,36,0,164,37,137,20,182,80,179,232,74,10,8,191,131,204,110,7,53,118,60,241,121,15,182,210,64,165,230,247,160,107,157,60,205,33,127,107,182,176,26,107,34,161,143,169,186,2,242,151,84,58,233,46,63,178,143,190,2,116,232,23,99,68,154,135,220,180,69, -239,127,244,55,25,216,31,116,126,184,158,189,245,181,104,20,61,9,255,94,2,178,130,90,1,82,220,194,196,169,36,113,198,94,5,181,14,136,74,167,174,41,61,38,206,103,115,94,210,132,218,4,52,55,40,248,71,139,237,76,1,42,10,104,165,118,90,231,49,166,62,146, -130,138,4,186,187,56,10,1,73,109,132,241,155,79,161,51,102,230,132,195,127,157,182,202,83,209,30,186,168,67,41,111,25,40,200,206,38,143,57,99,87,60,212,165,143,167,151,219,172,23,9,101,3,244,90,209,190,1,189,8,149,21,208,70,168,44,129,214,66,101,13,180, -2,181,15,64,90,225,60,181,7,64,90,115,79,241,224,76,106,109,252,127,234,122,116,208,60,204,2,72,107,225,41,149,43,47,238,169,147,21,144,214,162,200,203,135,63,28,121,248,171,44,143,53,144,139,20,129,180,104,6,240,252,39,132,46,214,158,125,16,164,4,100, -86,143,254,43,34,128,10,223,182,121,145,38,37,71,234,235,198,202,40,81,87,174,87,240,165,204,152,222,119,169,226,70,151,185,137,66,41,180,100,19,255,204,71,152,58,116,112,210,64,214,146,116,208,224,219,51,230,193,185,135,61,208,35,16,23,155,102,238,54, -173,252,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,48,0,0,0,48,8,6,0,0,0,87,2,249,135,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,3,19,73,68,65,84,120, +1,237,150,191,79,20,65,20,199,191,111,128,243,80,19,206,198,0,154,112,36,18,19,27,41,233,60,58,236,232,212,202,248,23,0,9,16,172,212,74,129,226,142,202,22,59,74,233,40,175,212,238,108,8,86,156,9,191,98,227,82,156,18,46,183,207,183,179,123,176,191,144, +61,239,114,183,197,124,18,184,217,183,111,102,190,111,230,189,217,1,12,6,131,193,96,48,24,12,6,131,193,208,27,8,29,128,15,86,167,160,48,41,205,19,80,166,66,35,11,85,109,255,85,204,161,118,254,92,102,25,6,212,158,248,60,132,141,121,153,246,51,221,91,124, +133,14,208,118,0,188,255,54,139,204,224,74,112,84,250,66,163,203,59,124,180,58,15,70,206,51,206,201,191,102,219,194,121,255,56,141,47,88,104,147,126,180,203,141,219,121,192,126,169,133,18,202,96,254,38,127,83,124,248,33,119,41,30,206,82,89,222,179,5, +226,23,157,16,239,14,251,31,184,41,163,166,68,248,25,108,58,19,203,71,89,245,172,59,34,237,128,237,175,209,94,42,43,129,73,144,124,162,131,25,204,108,210,157,30,236,0,31,172,77,138,136,25,17,233,26,136,197,72,159,164,245,76,26,89,201,241,239,241,203, +34,193,146,212,136,30,68,118,162,86,159,149,214,166,91,39,210,86,210,119,48,179,213,106,80,173,167,144,226,130,8,8,226,172,42,176,225,181,163,125,108,186,37,59,115,83,222,253,22,245,53,207,47,207,63,215,134,241,71,23,121,78,143,233,5,133,22,104,41,133, +248,120,189,0,219,46,72,183,9,153,240,145,244,30,208,5,201,124,42,237,221,11,113,129,247,254,1,80,23,225,219,174,139,147,122,106,72,140,146,138,108,233,218,209,246,190,45,26,93,220,67,66,84,82,71,157,58,90,188,22,242,224,82,156,147,215,24,147,198,83, +89,233,102,209,142,69,196,107,113,62,155,141,188,164,225,138,8,119,118,116,22,164,158,120,47,102,117,90,117,50,0,61,160,194,140,207,244,3,81,113,187,146,94,150,39,238,20,215,225,164,157,141,237,139,186,0,231,221,31,169,5,39,173,18,146,172,6,106,245,188, +76,152,245,77,190,43,41,48,32,43,55,129,166,120,22,91,19,69,85,81,50,118,237,184,138,43,50,70,69,183,253,165,195,24,230,253,98,46,201,81,251,207,26,144,156,127,227,126,57,57,241,150,118,152,170,44,198,38,141,44,189,187,202,225,202,0,248,104,189,40,171, +58,143,52,64,84,162,209,165,133,216,87,113,70,62,46,230,97,215,247,145,38,84,99,156,70,94,87,35,230,88,231,122,99,18,105,163,209,87,136,51,199,23,177,178,131,206,140,13,186,191,220,213,116,146,99,187,36,249,49,231,51,197,46,106,252,14,40,122,28,124,86, +101,116,159,74,224,41,172,169,105,142,237,202,161,104,251,237,42,186,77,95,163,28,120,102,78,182,3,250,139,27,60,54,45,186,187,92,65,151,113,11,150,252,223,129,28,31,191,207,135,253,162,59,96,171,160,19,81,215,197,95,206,29,74,163,152,66,142,6,16,46, +96,219,187,100,245,130,232,220,145,52,138,57,133,156,244,241,125,30,228,36,224,195,181,57,164,1,194,80,216,164,98,156,170,72,43,28,189,36,70,3,56,207,148,82,26,68,85,78,166,82,216,24,9,64,223,0,169,49,45,197,91,70,90,112,180,168,198,116,220,85,194,96, +48,24,122,203,95,179,89,26,222,104,18,232,51,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* Eyedropperon_png = (const char*) temp_binary_data_3; +const char* dogfoodon_png = (const char*) temp_binary_data_3; } diff --git a/LatestCompiledAssets/BinaryData5.cpp b/LatestCompiledAssets/BinaryData5.cpp index 1b6fcf1..30ec5db 100644 --- a/LatestCompiledAssets/BinaryData5.cpp +++ b/LatestCompiledAssets/BinaryData5.cpp @@ -9,374 +9,23 @@ namespace InspectorBinaryData { -//================== Logo.png ================== +//================== enabled-off.png ================== static const unsigned char temp_binary_data_4[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,118,0,0,0,108,8,6,0,0,0,191,234,70,236,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,100,74,73,68,65, -84,120,1,237,189,91,144,157,215,117,30,184,247,254,175,231,218,55,52,128,110,54,65,16,4,33,170,155,148,108,193,148,100,199,54,219,54,237,216,241,37,78,42,205,41,37,85,153,169,74,149,93,165,202,84,230,105,94,1,60,204,67,166,230,105,106,204,170,209,195, -212,164,230,65,25,64,185,141,149,40,78,16,171,17,57,178,101,11,150,45,17,109,154,132,72,64,4,187,1,52,186,79,119,159,251,127,217,123,190,111,237,255,52,154,87,145,18,237,154,139,126,242,160,207,253,242,175,189,214,250,214,183,46,91,171,191,130,195,57, -167,249,247,210,165,75,248,123,65,45,47,43,189,177,161,220,242,13,252,93,81,238,66,245,188,43,184,61,121,13,238,215,120,158,243,15,40,53,143,219,215,212,58,110,172,42,117,99,195,168,149,101,181,176,169,220,248,105,101,212,171,55,213,238,221,179,238,177, -198,45,115,162,117,218,77,63,174,204,55,95,191,105,91,115,103,117,119,71,185,34,188,99,14,58,133,123,236,180,82,221,111,20,174,245,153,179,90,221,194,245,150,114,173,238,45,221,153,9,229,115,15,58,75,248,188,91,106,22,239,113,18,239,209,63,184,133,219, -167,241,154,155,110,183,121,214,61,183,162,204,45,60,222,184,113,218,54,127,70,233,155,124,17,62,251,165,175,239,219,197,214,121,167,86,55,204,194,230,178,83,231,175,171,115,91,231,221,246,13,229,248,59,110,220,184,226,86,86,230,241,25,171,246,194,5, -229,46,93,122,248,59,121,240,190,201,117,62,198,219,90,107,167,62,194,67,171,143,240,152,8,148,7,191,240,197,139,151,212,229,203,203,213,125,107,138,194,229,181,229,27,87,32,224,53,17,244,218,26,158,187,177,206,147,160,22,22,148,62,143,199,175,95,87, -234,167,159,87,250,15,174,42,183,213,217,208,143,173,212,13,95,119,91,157,182,179,59,74,191,122,243,166,154,59,225,133,179,16,39,102,43,27,219,133,211,137,153,217,95,112,163,197,123,70,221,83,106,216,180,110,107,83,169,79,45,46,168,45,252,183,128,255, -110,238,43,87,62,184,103,78,156,240,143,243,245,7,61,163,219,205,19,184,190,37,223,114,166,189,224,238,188,161,212,146,186,35,183,251,83,133,60,175,187,115,218,159,120,124,182,58,171,212,215,126,63,115,88,107,106,121,69,169,14,132,187,245,138,114,11, -231,148,222,90,228,111,132,192,23,134,238,220,86,215,173,66,184,87,170,133,205,151,95,240,171,218,189,240,130,146,223,116,249,178,178,90,243,220,81,176,148,175,118,60,143,63,172,160,63,114,193,250,213,121,73,81,83,177,114,245,229,203,107,118,253,210, -122,176,125,99,149,171,185,210,218,117,253,28,53,17,199,43,11,215,181,130,32,183,22,107,90,221,88,174,78,20,5,10,13,198,227,212,148,123,127,122,75,67,145,84,163,125,90,43,156,244,59,119,252,73,63,246,88,100,30,148,39,108,163,191,37,191,163,214,54,250, -222,61,255,93,234,45,163,91,117,235,186,77,252,237,89,151,14,140,238,54,181,142,108,105,83,220,215,173,105,61,186,237,156,60,103,224,159,203,215,241,229,237,3,235,14,134,70,247,247,172,59,243,49,163,83,124,134,255,196,59,242,255,65,163,112,179,45,8,156, -50,62,123,86,245,230,148,187,187,115,83,171,39,149,218,253,90,230,22,102,134,16,244,121,183,240,57,165,103,102,148,197,218,173,22,47,15,104,177,242,103,104,114,92,188,168,28,46,208,92,109,41,92,17,204,15,41,88,163,62,162,99,162,173,52,43,55,110,44,195, -28,41,17,42,5,125,77,93,179,80,88,117,1,43,119,237,178,95,76,215,20,133,202,235,231,213,204,226,121,8,85,169,217,147,55,53,79,80,188,168,2,17,234,73,47,212,238,61,104,203,45,8,252,96,75,119,166,182,116,99,38,208,75,43,73,144,155,192,28,220,220,210,225, -116,20,20,97,104,76,51,10,18,92,159,93,8,76,25,4,38,223,13,204,148,10,76,122,44,14,187,35,232,197,3,165,120,95,134,251,212,142,82,83,120,142,25,71,1,159,187,183,21,5,20,112,130,219,124,191,254,200,232,218,60,238,195,34,216,192,194,57,22,220,195,123,70, -6,235,74,209,58,156,12,83,211,130,213,232,193,236,247,113,30,119,239,102,78,189,202,223,16,203,111,90,94,85,102,107,75,185,206,213,235,230,11,157,235,208,224,150,252,110,46,118,85,249,162,137,73,118,23,189,57,190,164,28,229,161,39,231,243,168,5,252,176, -199,71,162,177,254,11,104,248,18,103,248,5,105,102,86,174,224,75,95,244,194,92,199,106,165,32,169,165,244,155,203,203,199,241,3,150,213,213,127,122,221,45,158,57,175,63,77,255,5,223,69,13,216,197,201,122,236,244,105,213,217,191,163,169,29,20,226,68,123, -62,117,126,65,141,212,182,217,190,207,79,157,87,234,184,82,233,224,129,238,227,241,193,88,83,59,32,125,92,170,191,131,108,95,143,251,214,181,143,133,70,77,77,41,181,191,175,130,178,101,249,234,65,166,117,61,118,142,207,73,106,70,7,15,112,255,140,255, -61,91,253,29,55,59,59,251,150,223,56,196,251,152,188,180,222,18,204,187,225,129,18,243,77,3,222,110,148,46,124,121,100,139,167,82,19,22,75,246,165,175,43,187,120,102,67,111,190,54,116,231,207,159,135,53,218,208,106,253,190,173,140,148,82,254,138,37,246, -224,149,181,13,10,213,235,240,133,11,23,96,135,47,65,168,23,14,53,246,7,209,222,31,74,176,147,21,165,33,84,231,77,136,7,77,213,187,226,171,57,154,97,10,117,25,166,248,204,243,222,66,124,225,11,215,213,211,63,53,101,8,128,168,165,173,174,247,151,13,128, -154,62,0,77,176,114,47,24,190,122,194,251,192,182,210,253,193,182,126,180,233,53,238,216,49,248,90,8,146,143,149,193,129,169,39,83,110,48,222,215,163,177,209,243,233,180,222,190,183,231,230,79,76,235,131,131,3,21,167,218,131,164,238,195,239,60,55,15, -51,140,219,166,44,45,31,239,118,74,75,193,170,3,165,198,145,117,83,167,166,212,120,132,159,179,167,212,244,52,76,243,192,57,46,152,14,22,74,189,143,251,33,239,0,175,229,162,218,222,44,108,99,184,141,207,56,161,218,53,235,102,32,96,126,134,247,203,167, -213,237,27,10,139,104,67,62,119,225,121,128,44,250,28,28,231,206,157,151,231,173,174,226,241,75,19,199,165,8,21,141,95,248,112,91,27,151,28,132,108,39,231,244,195,10,247,7,54,197,248,137,74,87,2,188,8,77,133,48,245,149,43,254,66,77,93,94,83,250,133,23, -174,152,85,124,201,106,133,2,20,93,87,175,109,41,189,56,130,63,5,2,17,161,18,201,2,149,118,250,161,238,244,3,253,224,216,189,160,251,186,209,69,184,109,120,177,187,15,12,116,83,21,58,48,197,124,96,238,238,29,152,176,17,4,188,80,152,59,189,65,24,229,48, -191,245,153,32,130,22,206,46,204,4,101,191,111,240,176,177,131,192,68,105,91,207,28,15,3,53,12,76,147,247,245,141,137,147,150,14,235,97,48,44,195,160,49,23,135,161,13,3,252,111,28,46,131,221,65,224,180,49,110,198,152,14,254,30,195,27,149,248,155,64,179, -91,243,248,91,215,154,166,187,220,9,204,60,204,127,189,181,160,169,197,7,240,239,252,254,116,255,217,102,98,110,223,2,218,134,43,153,61,185,172,23,102,150,221,245,47,64,191,175,214,4,79,188,242,74,165,80,60,95,203,15,149,107,245,130,42,213,197,107,86, -34,136,101,1,157,154,218,235,207,247,135,51,203,63,176,198,30,249,32,1,117,151,137,242,214,228,203,42,248,81,71,1,227,11,106,174,195,9,80,250,206,206,205,128,190,136,126,72,194,21,132,19,60,1,60,206,172,212,160,165,30,180,208,71,82,59,251,13,250,60,173, -197,164,198,83,46,129,224,18,128,30,106,90,105,250,102,140,219,102,191,180,1,4,151,143,27,110,156,247,241,124,231,166,231,154,122,111,172,92,148,40,61,206,7,58,202,181,206,35,231,146,113,221,141,139,129,110,52,176,80,240,188,48,225,87,199,13,213,87,195, -131,186,109,54,149,234,245,122,112,238,252,70,77,149,197,93,151,142,154,88,152,7,42,141,91,46,131,38,215,18,231,68,139,249,20,252,179,117,199,185,217,74,139,7,0,96,253,131,19,174,209,190,167,251,0,96,52,209,12,187,102,239,21,110,247,123,240,193,56,63, -155,64,208,139,64,208,12,149,32,188,146,231,136,97,222,60,254,82,176,2,62,47,242,4,123,85,38,94,89,89,217,0,184,186,104,213,135,56,62,180,96,15,205,175,22,52,167,1,100,245,149,23,4,213,201,49,137,89,159,123,78,153,237,109,128,7,0,7,198,120,175,108,2, -33,46,42,128,35,255,153,187,93,252,160,25,165,239,192,145,54,176,210,137,104,9,94,122,149,201,157,134,246,196,208,142,33,4,171,224,30,71,219,93,61,130,128,230,230,219,154,154,137,211,175,162,164,175,21,174,140,11,60,167,65,17,53,84,6,65,134,177,183,37, -69,6,225,225,58,226,9,51,234,59,27,198,74,231,120,110,20,186,67,179,86,100,202,197,184,93,111,212,213,160,63,144,251,226,168,238,40,120,10,56,231,2,153,195,235,118,122,206,216,134,156,220,20,190,57,131,128,199,119,113,137,119,221,168,63,13,129,111,187, -102,58,43,239,203,223,48,220,203,75,106,116,88,20,54,206,22,44,99,104,62,118,114,110,195,109,220,240,166,153,224,106,115,243,186,238,116,94,179,107,107,149,86,92,89,147,239,112,5,255,17,124,210,234,241,175,63,231,31,220,28,255,64,26,123,241,162,7,73, -188,62,9,190,121,27,90,42,166,253,204,25,101,94,123,77,89,174,194,107,235,248,17,231,40,212,13,8,53,246,39,28,136,242,0,194,228,245,5,196,153,7,189,123,186,78,161,2,185,78,195,220,110,221,219,215,143,193,193,117,186,61,211,152,134,246,182,154,106,107, -179,167,98,8,118,6,90,214,3,12,109,66,237,108,107,40,159,71,193,41,200,36,140,188,64,243,98,132,191,53,53,28,42,254,81,97,169,116,212,196,154,28,227,121,41,62,63,135,192,75,173,249,183,200,134,174,86,171,249,251,240,122,128,36,91,175,67,184,33,32,170, -171,201,98,8,26,206,246,239,246,85,30,53,92,70,129,183,176,240,172,179,244,227,212,228,49,132,12,119,172,110,151,15,108,13,66,38,14,224,17,109,193,23,35,102,78,23,115,219,63,40,220,137,217,211,238,43,95,185,169,158,68,28,44,40,90,77,4,188,46,238,10,202, -32,225,194,53,2,171,27,18,65,88,196,143,250,34,60,240,135,37,49,194,15,250,196,163,54,222,127,128,123,135,64,231,231,149,166,255,32,56,250,28,66,24,134,51,128,253,162,165,119,119,150,85,11,43,191,65,180,203,147,0,13,61,129,95,125,239,187,247,148,141, -16,150,156,50,186,124,117,87,13,198,199,116,59,8,77,31,102,181,173,218,64,173,3,173,118,250,20,170,138,160,109,182,102,76,88,27,232,145,13,84,182,51,210,209,84,93,135,212,88,188,107,102,181,241,2,170,235,28,171,36,134,160,16,181,202,55,47,15,32,236,52, -85,101,79,185,188,28,155,56,172,105,4,20,54,72,160,229,3,172,128,148,100,133,179,181,90,10,31,171,92,86,88,27,22,163,176,128,214,154,77,120,221,122,160,106,61,109,163,105,191,160,7,248,76,248,105,21,196,3,23,193,92,119,226,125,247,88,112,76,117,199,22, -218,101,221,232,117,231,70,0,106,225,95,22,118,216,92,210,253,27,176,76,75,119,52,136,21,188,190,16,119,244,53,10,247,42,208,243,76,75,45,46,174,187,237,109,128,38,197,88,31,33,17,237,54,148,6,8,106,34,76,134,63,31,88,107,63,176,198,30,245,169,188,121, -148,38,19,34,2,166,100,189,18,172,176,71,138,209,156,82,95,127,73,25,210,120,124,94,134,248,175,191,15,191,3,109,237,193,151,34,76,52,181,134,71,184,131,241,158,8,212,34,54,69,0,161,172,209,38,130,112,233,7,161,160,226,9,123,0,49,97,65,115,58,210,206, -224,186,104,40,36,130,32,200,82,27,149,112,55,38,10,82,55,26,193,239,69,74,135,161,210,5,98,27,101,99,27,70,227,195,239,92,132,90,143,135,177,13,112,95,24,72,208,104,67,8,123,132,23,214,146,196,226,229,242,206,58,177,214,224,49,121,77,68,13,199,194,128, -137,159,225,117,248,236,254,126,215,166,179,77,241,191,113,218,213,198,54,237,65,9,173,79,104,238,119,213,120,175,85,18,92,77,80,244,194,34,60,58,207,193,157,165,146,136,249,6,36,185,66,235,123,131,255,47,151,159,255,252,186,222,126,113,219,173,129,153, -187,116,209,71,22,147,243,126,201,71,68,176,152,250,251,250,219,15,33,88,154,221,139,70,85,209,245,5,255,15,180,245,138,161,127,128,47,80,228,71,9,148,232,79,17,190,169,47,95,37,42,244,159,65,225,6,199,106,1,153,29,154,93,222,39,166,23,190,180,156,53, -102,31,49,38,195,149,65,49,8,34,154,91,60,113,122,86,139,191,220,131,9,166,64,5,173,26,47,64,83,102,65,81,36,46,12,199,58,128,169,45,74,111,134,3,8,172,40,253,103,38,20,134,213,15,127,99,12,205,69,200,18,52,160,201,147,191,5,44,52,23,78,0,186,177,136, -93,17,240,68,142,32,84,191,96,96,121,45,23,10,5,76,97,235,129,179,57,125,50,191,3,204,241,4,148,229,17,180,124,220,117,211,101,195,110,199,60,91,251,234,137,118,203,118,183,75,17,194,8,134,99,27,254,150,215,69,184,237,210,205,192,60,223,190,5,82,3,44, -22,77,51,209,51,181,225,220,57,175,189,244,180,56,183,150,22,17,23,156,95,98,25,109,39,8,65,235,143,68,176,71,137,125,9,164,149,143,193,214,141,248,6,34,95,56,135,22,204,239,151,191,168,220,236,51,42,216,253,253,13,167,158,173,155,54,66,25,210,127,19, -161,30,5,72,124,229,110,175,107,18,196,158,141,190,54,99,8,213,154,129,33,146,229,201,3,149,43,154,153,89,8,50,79,28,85,58,132,240,134,217,88,94,219,78,83,51,30,143,85,0,1,22,208,78,53,246,194,133,125,80,46,209,38,35,200,109,198,42,203,32,212,18,168, -54,192,107,75,127,106,2,92,47,203,177,11,129,134,248,88,12,193,231,163,24,39,127,172,176,144,68,224,42,182,30,184,56,106,241,72,69,208,238,34,79,29,0,176,213,169,181,19,240,53,176,214,38,64,230,201,172,115,249,232,192,101,16,110,154,192,255,66,147,3, -104,112,3,113,238,3,89,12,165,245,136,121,193,205,76,41,199,88,151,97,223,75,227,179,150,22,206,115,205,36,115,142,248,90,8,148,97,17,244,199,86,138,244,125,193,212,7,138,99,39,28,176,100,34,68,87,189,214,210,84,220,184,177,237,174,209,225,3,37,49,187, -241,101,248,12,181,189,33,239,59,123,42,214,20,42,217,163,33,126,12,137,216,20,66,125,4,102,88,52,53,232,154,126,217,15,90,51,51,136,47,97,197,218,3,99,135,3,67,116,75,77,237,34,92,117,117,99,50,8,51,47,106,122,208,133,174,232,177,129,106,152,176,76, -53,194,31,179,223,203,12,222,42,204,35,13,67,110,66,203,235,46,15,84,108,162,2,202,108,112,255,168,128,194,59,255,248,0,127,11,101,162,48,45,194,98,156,7,142,175,25,22,161,45,76,56,42,248,250,60,76,35,19,232,88,7,41,46,49,214,81,49,52,65,128,133,213, -192,247,112,227,186,44,52,103,198,134,207,205,0,174,50,248,91,152,91,51,13,12,97,251,3,51,202,141,110,152,41,57,7,163,251,7,154,177,239,65,134,88,250,1,23,246,9,44,186,5,213,152,242,74,69,139,182,59,23,234,36,185,41,207,223,252,221,235,154,201,144,107, -94,184,134,0,138,202,67,161,242,241,141,141,141,143,198,199,86,154,42,126,117,114,31,194,27,255,129,96,149,200,129,94,189,122,222,126,30,233,170,22,76,240,151,145,141,97,80,46,169,179,111,21,238,83,171,200,190,108,210,167,133,242,197,25,220,183,192,24, -13,199,51,122,148,117,17,147,78,33,140,1,168,106,67,51,33,204,108,111,160,33,124,131,147,28,208,79,26,156,217,162,55,214,9,52,151,166,16,10,109,38,218,233,242,220,68,73,98,134,136,131,32,65,32,139,220,208,199,210,228,66,97,185,164,225,137,35,23,88,133, -184,23,223,63,199,125,17,148,16,143,103,253,92,5,41,238,47,149,179,208,86,203,215,231,185,42,225,80,249,114,216,96,27,227,137,46,119,101,80,243,26,14,12,238,202,220,150,226,123,99,216,230,192,150,30,89,227,189,161,189,72,24,89,3,205,37,46,96,184,212, -25,192,65,52,154,34,144,89,104,45,227,222,61,152,102,147,31,179,237,154,114,253,142,114,51,43,170,202,30,41,152,99,201,12,169,137,73,62,15,164,242,229,173,47,151,207,169,11,102,149,224,31,246,241,98,37,3,90,76,104,172,253,97,5,43,97,205,141,101,1,73, -142,38,152,166,129,40,248,197,23,241,229,102,174,155,69,100,103,102,17,206,28,165,7,201,194,148,88,254,188,77,82,253,177,71,34,65,225,195,148,177,165,49,182,7,146,1,38,151,62,149,90,10,126,206,100,240,165,131,93,168,17,52,129,102,151,207,7,165,20,196, -153,247,173,54,7,242,133,70,137,0,41,63,8,211,208,4,83,144,69,97,76,16,67,242,128,208,144,96,25,32,204,129,48,75,44,4,160,40,235,240,56,5,27,64,144,37,204,176,45,51,23,69,17,99,89,203,251,35,190,63,31,131,176,185,6,8,168,98,2,39,32,55,36,7,236,8,118, -52,164,112,11,15,182,100,161,226,190,49,4,90,7,224,162,144,27,169,179,195,158,181,179,97,221,13,113,255,120,174,175,167,84,195,230,48,201,101,31,239,204,53,195,24,24,113,174,66,254,176,141,48,12,11,201,82,176,254,140,223,68,172,155,185,206,230,208,205, -116,206,91,102,194,152,17,226,35,203,222,28,59,129,203,10,132,197,251,72,239,3,83,138,116,169,43,48,3,68,102,87,4,142,211,252,138,67,23,154,12,217,28,230,160,73,145,202,63,20,234,1,76,48,67,25,102,92,106,45,173,239,13,118,93,71,247,204,254,247,240,148, -55,15,20,5,74,146,135,254,116,148,232,160,63,212,198,13,65,249,133,153,192,99,198,157,49,196,198,235,68,201,176,127,48,145,65,100,65,54,22,48,183,188,24,154,216,2,231,155,143,133,58,8,18,252,235,98,152,88,29,242,177,18,23,195,251,237,56,46,1,141,32,53, -184,79,27,225,31,124,78,18,149,153,70,64,173,35,94,10,92,183,120,220,149,0,227,120,77,152,192,52,243,2,19,61,192,105,4,217,128,247,214,124,111,147,227,243,130,48,213,113,13,238,194,212,196,93,208,68,143,203,113,16,164,38,32,195,101,241,123,162,142,214, -219,8,247,14,184,8,144,76,26,212,61,228,225,121,81,200,49,246,225,190,50,181,101,24,10,82,168,4,81,27,55,152,219,58,175,58,51,62,43,196,168,227,194,133,135,178,184,164,73,34,184,247,149,221,7,210,88,201,54,92,188,32,174,181,130,220,242,166,11,48,189, -52,25,96,80,160,173,55,133,38,108,47,221,9,152,166,62,96,142,20,230,183,86,1,37,242,176,143,226,135,221,3,107,68,162,33,168,15,2,18,13,68,190,93,147,133,121,81,215,41,78,216,96,60,54,52,183,68,185,13,248,81,103,50,131,211,142,180,92,17,148,35,165,211, -90,12,19,12,80,164,11,106,181,161,121,165,246,2,198,32,102,165,150,243,6,80,50,191,100,224,111,51,92,199,59,104,160,33,7,105,58,62,119,18,194,27,104,224,16,38,24,167,217,241,122,192,216,6,178,181,208,90,147,120,51,237,10,87,242,177,4,90,15,43,224,128, -152,28,56,37,209,222,81,15,75,161,142,243,140,208,73,67,71,235,83,137,29,131,229,74,76,90,22,89,223,129,9,117,164,43,85,179,167,8,168,130,178,86,36,176,88,5,180,119,186,210,218,225,193,150,155,121,106,193,169,55,238,168,187,197,200,182,224,115,27,234, -180,221,240,224,73,52,153,0,234,210,67,37,99,54,72,95,212,23,127,72,83,76,224,164,60,100,186,226,203,91,152,111,117,12,191,58,51,202,76,168,66,174,58,194,247,54,168,66,156,0,40,218,3,227,64,218,147,84,37,207,27,129,59,140,242,182,38,72,10,33,220,140, -23,250,213,146,224,132,230,117,108,24,186,36,89,205,140,32,208,26,156,85,97,251,1,129,15,77,108,9,180,11,115,105,156,152,92,184,24,24,84,107,240,89,153,16,20,176,237,145,207,250,80,192,16,164,49,88,147,120,222,8,82,142,241,60,120,57,8,15,66,197,109,107, -66,57,97,33,254,203,117,1,180,237,68,152,33,62,0,86,211,226,123,184,8,130,84,161,200,17,166,26,64,0,127,211,36,2,223,28,150,52,227,161,142,32,220,72,4,12,83,107,45,240,118,1,132,92,194,36,151,58,41,35,64,181,134,77,237,176,134,88,216,82,184,212,136,125, -155,15,27,101,125,224,253,246,12,204,205,168,74,242,179,170,35,190,53,6,253,200,240,231,44,194,159,235,146,246,123,237,170,178,158,135,151,240,7,73,123,229,142,148,215,232,119,243,181,31,136,121,162,80,9,187,175,200,210,129,166,118,174,35,94,61,47,241, -42,239,146,234,1,100,107,58,251,71,64,22,204,76,109,58,210,3,34,6,164,188,92,27,48,6,104,145,225,76,141,194,212,130,108,2,34,74,152,73,164,80,106,58,135,227,133,235,131,85,205,168,213,166,40,114,248,83,152,74,152,61,72,19,60,81,172,121,159,129,64,11, -58,105,250,201,65,4,203,11,65,67,112,5,245,9,140,4,220,158,46,17,141,224,215,106,75,235,192,53,67,88,132,37,230,248,39,36,104,66,126,213,6,46,15,75,89,223,76,61,18,59,51,241,22,59,83,208,38,141,178,162,4,164,130,249,14,75,64,106,32,35,103,134,142,240, -0,230,4,129,109,129,236,156,49,57,18,13,144,163,113,42,194,74,162,95,197,138,179,176,62,78,37,96,199,176,64,232,94,186,118,160,90,189,186,29,69,48,75,208,255,221,225,158,107,232,102,73,30,92,170,62,78,144,150,161,162,132,26,97,16,171,111,212,27,227,243, -238,53,68,25,243,43,200,244,32,197,117,109,101,195,66,168,147,60,253,225,185,126,183,82,26,243,126,154,122,180,42,130,101,45,116,228,36,248,73,234,51,94,101,157,15,75,88,152,122,35,10,94,122,20,160,9,105,183,131,62,78,40,50,52,204,204,156,128,79,137, -219,72,177,129,149,57,32,70,5,155,212,239,123,126,247,0,66,117,99,106,41,133,154,5,52,193,252,221,9,132,105,97,124,85,19,33,11,132,58,130,6,14,179,2,120,186,8,233,47,233,55,33,168,8,114,13,33,12,8,222,70,48,15,49,81,176,46,178,8,167,22,8,206,68,176,184, -176,4,32,150,112,201,51,27,66,200,129,171,174,71,226,87,241,58,231,159,67,223,169,29,162,212,82,209,59,71,142,225,115,132,96,137,247,71,101,148,141,248,28,35,62,154,247,97,25,65,116,133,128,56,250,252,60,202,131,17,191,59,110,195,12,27,198,221,1,129, -224,200,8,143,61,29,55,244,184,232,3,76,195,197,76,227,57,181,105,93,98,37,188,86,224,235,137,191,133,75,219,164,31,6,216,188,117,154,53,7,234,209,68,153,187,160,30,47,93,92,71,170,239,58,100,241,28,57,3,67,171,89,185,68,200,243,221,57,100,243,94,66, -245,47,210,135,69,87,60,158,243,68,181,185,182,190,174,24,175,206,62,115,51,96,112,173,170,212,27,75,87,234,77,163,31,45,30,4,140,85,9,20,58,93,99,218,88,138,205,42,174,51,179,129,228,59,115,106,18,204,47,195,152,160,18,106,32,254,209,4,3,92,10,10,208, -22,80,148,2,16,199,68,160,249,66,2,157,34,231,105,208,136,103,35,147,151,208,189,208,37,20,150,117,94,104,142,194,198,169,226,95,176,248,49,30,137,252,125,97,64,65,66,77,99,94,135,197,15,248,215,186,28,160,84,27,121,14,23,11,66,92,151,149,33,162,154, -16,90,143,215,218,80,209,170,19,128,241,221,152,109,130,62,19,96,193,83,132,89,81,72,140,140,176,22,32,13,130,207,249,94,153,1,239,40,128,42,109,48,62,207,66,107,134,166,61,135,53,4,237,29,239,246,5,103,248,147,134,60,5,104,85,17,110,21,18,102,167,183, -204,51,112,107,189,187,74,24,169,213,181,227,114,255,197,139,171,150,25,179,181,42,68,66,216,41,18,125,183,92,237,123,250,88,102,112,222,126,31,209,217,246,246,188,254,220,231,90,154,73,227,217,30,194,155,19,161,190,173,124,181,160,164,222,110,27,157, -2,1,111,119,15,76,251,137,57,51,194,137,192,247,54,182,5,86,233,206,64,7,179,248,241,52,96,61,184,44,91,5,254,21,13,72,196,235,79,12,24,67,71,13,5,34,181,222,151,242,100,66,87,2,104,179,201,112,34,169,142,56,223,32,25,200,52,145,221,163,13,135,180,120, -29,190,213,194,37,6,128,113,142,40,12,186,93,34,210,128,109,134,210,1,32,225,254,64,17,5,225,4,225,58,125,175,147,11,68,132,191,12,109,193,122,240,108,225,30,112,200,9,150,92,14,227,239,146,34,131,3,229,51,17,184,225,130,117,129,47,71,11,62,198,69,72, -101,126,89,176,83,248,178,197,120,52,178,81,173,133,213,2,3,142,112,40,236,193,122,195,7,51,214,165,207,45,1,188,104,138,131,182,181,99,248,220,221,187,165,109,60,6,86,10,190,118,188,179,80,10,102,1,51,181,240,188,114,95,4,155,247,249,121,37,57,93,146, -21,228,16,46,92,144,48,200,85,170,251,22,173,13,223,71,99,69,91,153,38,36,79,41,89,66,112,193,80,86,160,224,154,222,124,109,217,205,254,212,77,221,0,191,183,252,232,146,186,189,121,15,100,59,57,224,109,36,200,79,234,153,112,70,5,16,170,5,9,97,107,83, -38,68,150,102,212,52,18,206,0,11,50,142,9,96,170,189,79,197,234,77,88,46,100,41,108,158,252,66,66,151,178,4,115,91,250,231,128,76,128,210,224,109,32,176,146,130,198,117,249,65,129,32,7,19,64,224,20,38,252,172,217,221,190,219,252,246,183,255,237,179,251, -7,247,31,31,143,251,115,195,81,247,49,167,139,58,206,103,93,136,86,56,153,48,76,183,195,40,221,110,52,167,190,55,53,181,240,250,83,103,158,189,241,232,194,51,29,124,28,62,28,43,79,132,4,0,69,149,197,139,97,34,193,43,131,40,137,225,37,96,155,75,152,28, -124,15,205,5,50,46,225,255,13,45,52,62,124,20,217,32,205,20,209,56,62,67,92,13,161,54,105,74,219,136,129,239,0,180,118,241,244,18,84,219,76,195,116,59,29,59,91,182,84,163,0,128,58,25,24,40,129,123,99,211,150,11,139,91,88,114,11,118,22,10,48,179,165,212, -231,206,93,87,103,206,43,253,218,149,215,224,103,231,41,84,15,14,222,227,208,239,35,216,195,98,102,185,243,146,47,227,96,226,252,250,245,243,234,105,161,192,206,202,67,201,220,86,240,234,119,141,110,34,139,81,3,177,127,188,29,6,52,193,172,116,176,166, -111,142,181,90,166,3,70,9,164,191,65,42,86,76,177,33,96,162,201,197,9,136,105,129,83,158,153,60,192,249,50,20,170,66,12,72,223,70,114,33,137,37,7,96,202,17,78,47,12,40,150,35,195,33,104,41,148,3,210,38,19,209,233,188,217,250,250,55,254,249,175,236,239, -221,91,25,244,247,158,150,20,23,44,38,179,23,48,145,12,125,44,41,13,41,34,210,4,214,56,145,188,77,229,225,79,132,157,78,210,198,235,143,45,62,243,123,79,60,241,233,141,211,39,151,183,1,164,144,143,149,135,65,49,17,186,145,82,14,37,221,131,116,109,14, -66,130,198,31,40,205,21,68,207,142,232,77,135,228,47,232,28,138,40,231,2,192,201,108,197,80,65,228,14,154,32,38,192,42,55,28,144,50,131,174,97,9,254,198,186,153,86,211,246,118,173,101,109,85,23,138,207,60,238,107,111,12,75,207,9,224,232,35,138,222,94, -182,11,159,187,174,183,182,186,142,52,174,232,25,50,64,19,249,188,93,99,191,175,96,89,70,202,172,130,176,30,184,239,183,175,42,67,178,122,156,120,223,187,139,172,205,66,124,90,234,147,164,114,224,77,152,98,64,222,246,49,4,22,225,48,172,17,175,226,24, -117,199,65,30,215,97,109,131,48,131,80,21,51,53,56,195,68,191,185,34,151,132,211,166,189,48,213,176,96,22,39,4,16,198,191,37,237,93,32,255,145,231,101,1,18,212,4,143,104,250,194,189,254,118,227,143,254,232,139,191,124,247,222,171,191,130,83,139,148,184, -165,69,214,202,78,126,160,7,129,242,195,161,13,80,60,24,90,199,236,32,226,94,72,128,167,195,48,113,132,40,73,132,44,30,183,152,157,121,100,253,179,63,246,119,254,175,69,8,24,191,148,252,8,162,91,47,96,129,91,1,197,8,16,93,208,219,50,212,113,34,84,6,212, -72,235,89,93,71,44,139,116,238,136,139,1,63,10,102,197,106,160,1,172,147,50,33,21,137,172,80,11,137,252,225,1,210,126,16,238,40,175,23,116,184,225,116,27,95,97,71,189,177,215,46,89,90,51,51,85,56,198,180,164,26,55,20,132,187,240,80,184,43,87,214,220, -36,173,247,129,76,241,164,26,157,215,89,169,206,191,116,212,235,43,204,181,250,76,235,110,149,99,93,254,196,105,173,14,182,205,54,174,31,3,163,100,230,141,97,57,203,8,194,13,65,238,22,73,221,153,116,20,132,72,136,27,152,222,172,4,188,196,105,26,101,128, -165,117,104,40,238,3,58,20,243,27,67,120,176,106,34,84,10,209,32,77,224,196,198,73,216,34,194,13,24,33,67,12,160,107,204,215,254,224,127,251,205,187,219,223,253,229,60,31,183,66,0,143,162,40,248,84,178,194,202,23,196,2,47,187,234,6,165,61,41,183,199, -59,147,16,12,129,167,170,76,26,158,129,215,1,117,41,122,73,16,199,187,187,119,127,241,43,235,47,174,62,178,240,241,127,245,43,63,251,143,255,141,162,223,214,180,189,192,3,136,97,16,19,133,92,15,37,76,113,20,8,165,233,84,76,174,17,240,171,65,231,140,236, -16,22,106,26,101,170,0,201,1,131,172,194,18,12,5,44,204,24,196,117,137,53,178,219,27,72,228,52,78,2,221,71,134,43,61,14,171,13,208,57,236,207,129,123,118,166,209,7,213,8,194,162,171,72,254,40,183,240,252,117,253,197,47,118,221,234,170,151,147,164,224, -201,46,30,105,25,249,64,26,43,230,151,253,53,107,190,246,149,215,145,20,14,110,92,145,213,131,216,230,22,8,247,196,52,164,0,237,4,66,255,142,137,241,107,168,84,172,20,52,53,168,39,236,108,143,84,33,96,127,212,204,194,225,62,161,62,252,44,206,0,161,132, -132,40,12,35,32,76,96,40,248,223,50,36,250,68,40,11,108,105,99,34,96,1,80,138,156,1,206,101,89,6,123,123,183,230,191,245,173,127,253,143,199,89,15,75,25,100,14,128,214,112,144,81,176,224,154,51,45,164,62,100,32,22,246,176,154,210,249,219,242,175,4,174, -244,8,52,211,20,55,13,128,133,102,98,29,49,223,9,178,169,32,113,104,196,162,71,105,242,230,207,63,251,15,255,199,199,31,253,228,93,2,45,44,159,210,208,209,19,184,147,128,12,168,183,248,139,24,45,160,134,210,52,243,43,224,155,96,85,2,84,33,176,182,96, -66,163,184,160,41,102,34,223,102,240,199,176,28,131,238,129,77,166,27,110,23,9,131,227,113,203,49,73,63,234,20,194,41,47,204,20,150,237,43,147,124,237,178,144,20,203,229,145,190,38,91,153,226,195,152,118,162,185,239,45,88,255,84,22,170,105,38,124,55, -0,156,22,54,129,134,59,64,195,39,61,217,223,153,57,45,21,242,221,170,94,73,124,43,184,96,16,246,154,182,142,102,152,236,210,56,241,204,146,233,103,1,57,86,166,195,198,204,196,208,159,70,65,196,112,130,28,111,78,191,138,144,3,156,171,161,151,226,185,99, -172,90,86,102,24,182,195,188,246,202,213,191,177,181,189,241,95,129,38,106,247,7,227,120,52,28,135,57,208,216,104,132,16,67,59,111,120,241,134,57,104,194,48,102,194,198,103,221,45,97,51,31,166,242,242,186,38,226,18,246,153,188,162,88,111,126,10,62,27, -26,134,32,8,108,9,139,165,21,65,188,226,2,8,122,159,248,216,207,254,206,179,207,252,230,183,232,123,41,200,80,252,182,1,76,200,129,124,1,23,50,66,6,10,28,92,154,13,11,154,104,228,105,139,36,130,80,71,32,176,108,12,110,140,164,20,126,29,100,27,210,205, -34,97,96,32,76,230,113,251,123,64,20,101,97,219,166,41,130,125,35,204,203,195,74,71,54,142,205,129,75,88,95,183,207,65,101,87,241,147,174,248,186,40,167,142,100,222,38,130,125,111,34,217,85,188,240,26,235,229,30,30,172,110,103,244,44,109,23,96,250,239, -129,50,97,142,149,69,104,123,172,178,6,219,205,90,94,198,107,242,1,51,158,28,103,233,10,117,128,97,141,68,38,121,2,34,2,81,11,180,49,38,88,34,77,8,205,163,80,199,121,25,80,152,244,173,140,55,137,140,33,153,240,181,155,191,247,235,189,254,173,255,6,43, -126,106,56,176,233,96,159,49,102,162,218,211,45,187,240,200,124,57,55,59,93,78,181,235,174,22,215,108,45,173,3,140,38,46,78,88,141,70,119,46,69,32,92,171,226,120,121,3,254,82,51,122,241,121,73,81,96,205,5,0,11,173,227,56,68,122,47,112,44,5,32,127,12, -61,108,253,249,95,92,251,239,191,242,7,191,243,27,92,96,4,109,4,111,184,31,118,53,50,19,28,32,191,3,226,19,84,111,201,130,196,134,104,159,191,57,40,199,12,183,252,57,103,14,18,196,69,4,139,198,90,46,86,94,50,222,103,241,122,194,114,161,99,74,157,65,248, -216,152,242,69,127,52,197,236,105,250,181,207,173,122,101,92,246,150,116,82,46,163,222,166,164,239,159,221,185,200,196,238,188,254,252,202,154,158,244,158,44,62,51,23,180,62,19,34,126,69,216,129,148,92,125,176,45,45,22,124,172,165,67,169,87,98,189,47, -107,119,169,173,118,8,239,2,161,130,248,54,172,51,138,107,116,181,185,97,238,20,41,81,69,246,6,212,29,127,179,142,154,49,131,71,132,46,48,185,16,174,19,28,75,45,86,193,221,205,175,253,45,103,119,127,163,44,84,186,187,61,74,29,18,64,237,214,180,58,177, -56,83,198,224,123,184,70,166,103,155,118,110,118,202,182,167,155,174,13,1,207,76,183,92,179,134,84,66,2,164,103,130,202,213,78,132,251,16,108,148,185,152,109,234,161,166,227,68,240,234,53,220,151,76,27,37,21,86,242,114,179,185,249,221,191,255,31,255, -240,127,249,219,146,41,96,2,41,194,58,0,93,140,120,25,171,7,108,84,170,131,28,56,107,204,28,48,112,52,81,61,204,134,97,53,7,18,254,146,83,182,121,70,248,161,104,201,136,202,210,150,87,130,3,40,69,156,78,75,91,202,131,7,158,106,36,27,213,6,205,200,132, -60,89,62,62,143,5,13,18,130,74,242,253,210,164,170,197,29,45,149,9,222,46,203,183,132,58,95,85,238,197,23,255,68,255,201,246,134,234,92,157,97,139,160,106,225,195,247,193,207,238,171,105,245,232,241,190,249,203,93,96,134,123,92,109,129,217,239,130,227, -5,36,118,253,66,78,5,191,52,180,15,140,74,28,40,248,64,96,127,104,97,68,47,22,130,28,12,146,132,212,32,243,36,240,164,112,199,36,114,113,62,65,201,1,70,146,58,208,80,22,172,253,222,254,198,143,57,123,239,31,12,135,89,210,235,102,112,121,169,158,153,107, -23,9,8,121,208,131,38,31,41,129,188,229,216,155,88,48,27,46,137,35,193,80,176,108,134,101,82,206,43,38,5,38,107,219,72,176,42,82,86,226,118,241,187,217,185,65,152,92,240,53,198,139,21,112,151,201,3,81,106,222,71,91,119,208,223,91,30,149,157,205,165,147, -207,188,9,20,132,85,160,229,172,145,209,14,180,247,235,172,250,209,17,34,97,50,30,17,205,191,113,245,132,165,55,5,18,93,252,192,16,47,29,226,249,129,219,239,43,177,12,6,216,106,54,72,84,119,138,203,16,223,125,100,221,49,144,213,49,56,246,242,22,48,244, -169,155,250,254,27,179,238,212,19,74,253,234,239,40,33,241,175,73,49,254,42,219,69,32,179,135,139,213,188,93,168,218,139,93,170,209,39,101,165,107,248,239,252,121,95,117,72,255,202,21,164,226,45,67,51,252,113,112,194,211,31,15,12,147,231,172,177,101, -91,5,24,40,121,29,139,179,89,26,202,10,8,95,108,150,168,152,137,113,152,186,148,1,15,178,236,36,117,185,210,121,17,60,66,80,5,105,146,65,162,105,179,197,246,124,20,221,251,175,239,221,61,168,111,126,175,151,158,253,216,35,217,163,167,231,203,108,88,234, -254,1,194,30,151,66,91,27,64,90,44,24,174,225,130,219,186,134,215,25,93,79,107,208,190,80,23,35,216,69,87,7,32,77,113,194,35,33,88,165,72,148,138,202,159,107,36,4,146,32,183,204,201,225,27,209,90,92,55,204,10,136,58,224,207,161,111,6,192,125,245,230, -183,254,209,214,246,75,39,13,157,105,73,109,181,18,158,145,96,225,66,200,203,2,161,186,146,223,103,202,88,180,150,231,132,22,139,121,92,90,175,176,168,249,2,118,152,227,41,164,47,233,194,152,183,149,222,33,229,91,65,15,42,107,184,123,194,71,33,236,27, -38,165,11,236,35,197,132,12,71,39,0,234,45,37,194,239,166,177,135,69,224,234,97,102,135,169,58,117,67,153,27,200,2,252,228,47,181,3,164,14,213,34,76,241,108,68,106,158,245,75,212,80,200,12,24,145,73,102,38,155,51,73,150,143,193,84,212,131,186,245,192, -105,196,196,185,36,200,125,98,156,81,32,145,47,133,74,190,54,18,191,106,133,200,39,175,59,216,251,234,255,112,176,55,56,113,255,222,126,180,252,201,165,108,103,251,192,236,220,31,134,187,247,179,48,10,19,49,212,80,25,18,13,18,173,36,53,132,25,217,88, -147,250,65,110,208,110,223,237,33,246,181,8,82,11,5,116,163,114,216,124,92,228,58,162,207,106,101,139,129,150,216,151,128,10,203,5,52,101,32,4,6,208,177,246,224,74,116,150,214,128,207,146,232,41,173,213,94,254,220,175,94,186,8,16,78,54,25,102,202,21, -134,245,25,8,206,36,190,5,58,198,10,46,220,33,50,14,11,198,185,112,39,14,137,163,162,222,142,11,60,199,146,98,99,149,198,208,166,69,139,174,97,96,75,41,97,237,131,102,204,240,229,71,5,226,87,8,252,141,126,121,242,51,190,186,226,220,98,215,93,171,42,43, -124,203,170,122,75,129,155,121,167,80,47,189,69,216,203,213,56,129,133,77,100,23,86,54,212,202,179,190,187,124,106,38,144,102,36,246,215,196,85,85,0,83,150,242,119,70,251,218,95,228,87,235,16,106,129,147,201,21,42,37,44,149,198,186,88,121,176,164,229, -183,106,57,107,101,41,128,132,148,17,18,158,230,214,95,254,254,111,220,221,60,88,124,117,99,183,246,227,159,61,91,236,237,140,204,235,127,177,159,12,15,130,160,81,111,187,52,174,187,56,170,185,56,76,85,13,218,153,68,41,78,109,164,90,205,186,45,70,44, -252,77,84,45,105,2,76,53,96,154,83,121,30,159,159,224,111,20,112,81,16,214,42,31,15,49,202,245,166,218,147,27,78,248,12,81,102,37,228,162,168,196,4,122,201,237,209,96,248,212,127,248,198,255,250,107,178,20,104,109,12,1,31,100,5,232,199,124,177,170,126, -163,99,170,177,210,218,73,73,79,187,70,242,109,44,244,42,93,22,107,149,157,30,120,173,102,143,82,86,121,204,121,47,7,118,242,145,151,103,55,197,117,223,180,39,197,110,180,172,151,215,212,59,142,119,128,167,11,85,229,249,132,170,98,204,196,246,71,38,124, -151,241,223,206,189,194,189,254,242,200,182,59,165,155,63,238,95,195,38,37,86,68,140,147,190,238,169,190,128,38,17,112,152,186,62,50,208,210,78,65,48,65,62,94,69,42,168,42,29,20,139,113,181,100,86,128,150,11,225,132,105,237,184,136,107,181,193,252,189, -55,223,248,123,189,78,25,253,216,179,103,178,122,45,202,95,121,233,65,154,166,109,8,171,5,161,54,92,28,167,42,141,18,149,196,53,17,84,154,214,112,61,85,173,169,134,158,153,169,195,105,38,58,9,235,138,207,75,162,26,158,139,11,133,26,114,49,224,18,48,211, -23,136,221,242,45,190,94,102,150,1,204,184,196,5,57,86,100,232,73,114,105,161,62,172,152,59,231,211,101,242,207,214,230,237,223,220,239,239,212,75,237,147,23,1,136,18,104,38,222,22,22,8,128,170,148,140,21,113,152,175,199,114,88,216,72,221,225,121,74, -39,186,102,232,170,104,142,97,161,205,52,67,195,172,175,153,226,100,11,231,48,241,9,120,181,192,127,150,20,187,18,25,207,62,255,235,53,253,10,66,79,154,100,181,186,206,102,184,42,98,127,15,193,78,212,216,55,47,95,49,44,173,89,101,161,213,150,114,175, -109,109,232,141,27,27,42,124,42,53,143,227,194,58,225,187,59,190,46,184,61,11,194,97,212,116,172,97,2,50,213,113,196,166,165,32,96,153,11,67,28,254,136,162,204,145,28,97,225,25,219,16,125,197,3,137,5,15,76,60,209,95,208,125,177,78,2,144,226,246,171,127, -242,119,242,60,8,142,205,79,231,143,60,214,202,58,15,250,208,210,38,130,123,209,62,8,42,134,16,19,23,197,49,180,48,118,73,2,109,12,112,155,45,118,96,114,155,211,137,154,155,175,217,180,150,138,134,38,97,13,207,75,229,66,225,198,213,37,130,112,137,211, -252,89,209,162,146,226,169,72,47,64,192,217,144,86,150,33,15,121,103,198,61,124,138,173,252,25,156,64,81,52,191,241,231,255,226,151,137,125,248,80,33,225,15,75,117,124,73,14,92,48,203,169,140,145,144,7,56,66,22,121,166,199,200,74,209,146,5,209,72,51, -236,81,190,31,76,177,55,168,133,176,103,111,111,79,210,121,84,158,6,194,30,54,175,181,230,110,9,135,112,21,166,152,207,189,241,121,112,198,171,171,21,121,234,222,59,220,153,152,98,254,119,101,101,195,185,35,109,28,180,235,203,43,203,10,185,116,197,22, -13,146,18,76,51,177,147,124,52,238,106,182,56,116,118,16,100,35,139,110,165,205,130,25,148,135,213,249,205,36,33,89,65,100,172,51,152,38,214,42,49,43,45,168,147,46,202,9,234,20,134,127,120,112,103,254,206,27,111,254,92,61,105,9,164,220,219,46,194,238, -94,16,199,17,180,15,130,11,145,38,71,22,92,177,194,144,194,149,11,66,154,246,108,221,77,77,215,221,184,31,235,1,76,86,90,79,117,45,197,243,224,139,43,173,21,33,83,184,73,101,150,39,194,213,18,207,104,85,113,85,202,171,49,110,148,108,185,20,222,64,184, -74,143,160,181,243,81,177,228,172,213,189,237,91,191,218,61,216,110,152,138,0,7,237,41,218,27,133,82,48,128,144,167,144,58,44,89,196,56,55,44,94,119,38,151,186,174,110,31,218,212,28,27,214,39,119,246,129,1,59,164,99,219,210,101,207,158,250,121,118,239, -35,236,97,60,203,1,39,212,216,167,159,158,50,91,175,116,157,39,24,160,177,151,42,197,84,239,129,138,249,37,197,20,95,196,7,95,184,104,5,61,85,141,185,231,241,95,255,214,45,179,84,61,151,132,63,43,15,101,52,0,160,156,157,214,166,201,6,211,62,208,28,159, -48,2,2,101,11,70,233,125,43,87,41,205,48,127,92,2,147,132,164,151,41,193,23,3,164,178,214,95,147,67,117,196,50,184,255,205,205,155,203,101,22,232,52,169,43,106,100,191,171,76,214,15,224,71,155,16,102,44,2,149,75,136,60,59,194,154,36,141,177,186,99,55, -125,172,230,166,231,234,106,238,120,221,62,250,100,211,214,155,137,42,88,222,74,115,13,141,78,211,196,165,181,186,107,182,82,46,6,106,184,162,73,166,25,15,77,84,217,87,175,185,206,51,84,194,82,81,136,142,230,57,247,2,182,132,211,74,136,104,81,6,91,150, -205,63,222,248,151,63,39,61,83,36,57,112,97,93,21,11,234,4,86,209,28,177,167,183,148,200,7,240,138,150,26,72,49,136,29,124,139,156,79,214,38,79,77,107,93,71,168,211,237,178,73,116,74,1,98,154,109,100,214,103,23,246,164,54,155,252,60,39,232,236,238,102, -110,1,57,113,182,212,48,25,48,225,40,220,17,173,125,155,198,178,217,234,82,21,234,92,14,38,43,97,117,89,185,235,32,255,79,128,179,228,244,20,210,92,195,158,115,59,148,95,99,95,43,82,38,248,50,181,214,192,212,154,164,17,71,18,230,72,85,4,132,202,21,106, -139,216,23,143,85,224,193,216,73,92,89,146,32,150,21,77,230,135,165,41,163,209,131,95,78,144,60,160,22,146,93,26,116,93,80,140,2,147,38,53,88,129,68,5,20,110,2,95,29,83,184,145,154,57,94,3,51,20,233,222,3,96,148,81,8,173,76,116,156,32,79,218,151,58,23, -48,91,137,138,12,120,76,152,8,3,51,205,74,222,40,140,189,57,22,225,38,162,213,1,83,188,71,132,235,249,9,156,148,210,249,230,37,185,120,129,87,26,59,161,179,212,206,131,7,63,78,22,170,196,194,20,237,36,86,168,64,20,236,11,4,12,13,142,99,35,133,118,172, -185,66,122,135,36,69,129,28,47,207,149,99,249,94,1,78,117,223,218,150,239,188,22,115,156,182,142,235,81,207,247,221,50,204,252,211,111,20,110,19,214,147,25,30,142,127,224,253,203,203,239,140,110,222,6,158,156,158,104,236,11,236,15,169,94,176,190,225, -107,135,123,119,207,186,25,240,150,28,250,193,178,210,57,246,129,182,218,150,69,88,173,86,83,21,187,206,13,6,156,249,0,64,128,44,206,254,104,36,93,109,242,206,73,46,177,170,148,117,178,70,23,247,129,182,208,88,194,92,223,2,154,24,20,180,230,242,57,248, -182,83,16,162,196,156,1,46,229,24,17,104,163,166,164,95,131,2,137,34,199,251,113,162,92,72,141,222,131,233,15,89,118,29,234,225,65,40,21,141,227,94,72,65,35,75,215,80,172,144,73,146,216,53,218,52,15,184,167,65,166,42,21,237,247,66,77,189,214,86,96,202, -77,132,91,133,244,50,132,137,158,204,78,132,58,249,123,216,241,165,135,163,253,143,247,70,247,235,134,153,122,205,192,143,105,28,68,108,248,206,100,161,138,28,146,181,44,100,151,62,3,113,79,109,164,57,24,86,179,135,87,122,116,67,208,55,115,124,203,158, -60,167,30,79,73,191,15,51,103,244,179,111,17,213,58,135,158,173,203,125,107,27,239,204,238,188,35,109,231,147,235,23,124,58,72,249,140,14,80,177,212,15,247,23,111,153,198,126,168,31,28,35,24,64,160,5,170,101,42,240,100,4,209,28,73,129,38,116,112,88,171, -5,101,78,218,105,172,16,197,1,114,0,92,177,92,20,26,134,228,154,152,96,23,136,127,210,228,76,73,72,136,119,8,2,245,198,235,223,254,248,120,100,131,70,19,102,28,160,8,204,20,171,201,240,56,52,17,145,22,146,219,138,149,104,228,172,140,76,53,193,186,8,171, -132,141,48,69,44,108,41,192,240,176,78,188,201,183,4,14,178,10,209,23,168,249,146,39,208,5,137,81,227,136,180,161,37,173,128,12,156,149,215,49,22,70,184,133,24,183,194,35,101,197,87,89,165,39,218,170,143,170,169,92,39,187,100,200,62,5,223,121,245,63, -125,242,167,126,236,115,255,5,148,18,22,97,137,4,21,8,14,196,179,33,171,180,72,88,210,14,247,50,154,45,158,51,90,117,184,37,70,68,44,92,29,170,70,138,69,152,240,59,53,85,3,161,18,178,241,174,86,226,87,246,173,106,227,75,245,17,235,178,105,90,61,57,101, -118,23,207,151,204,205,46,47,3,64,249,249,37,90,29,73,6,188,69,176,85,30,86,174,87,149,231,186,243,219,215,205,23,190,160,100,202,11,215,26,11,154,85,224,219,54,134,96,69,160,117,138,157,221,96,156,92,99,10,104,152,172,234,16,223,58,81,174,86,19,44,161, -217,47,17,32,40,183,161,52,78,80,48,32,10,88,214,226,125,17,253,18,184,87,240,102,161,122,243,206,157,199,97,110,157,7,72,36,226,33,92,152,207,146,109,148,165,118,237,217,72,103,227,194,165,117,224,146,32,16,20,83,140,148,196,36,12,64,33,31,196,151,136, -160,187,49,76,112,192,14,59,144,19,185,200,34,18,153,140,53,80,39,34,17,228,73,243,144,221,115,82,240,196,116,13,83,125,178,48,88,245,20,228,62,244,177,206,251,94,143,155,164,177,67,196,130,251,3,201,201,121,161,243,119,118,246,182,207,224,177,175,147, -229,40,133,19,101,161,58,222,164,144,222,3,240,33,153,102,242,22,107,146,76,6,235,178,152,136,112,134,197,210,80,219,1,91,128,34,184,160,168,167,187,7,165,203,145,216,229,52,26,182,164,28,212,141,62,214,92,96,43,136,122,233,37,101,23,23,89,162,116,222, -205,92,61,207,233,6,44,130,120,75,109,241,59,80,177,215,218,75,50,241,133,83,77,206,45,158,119,164,19,137,198,186,59,133,99,149,58,159,211,31,60,52,13,44,129,153,61,198,36,65,195,223,1,211,162,70,67,197,52,57,123,106,152,117,229,28,16,11,78,55,23,66, -66,11,57,94,48,190,49,81,149,45,149,10,48,0,29,119,74,252,29,174,204,45,212,32,72,154,91,22,114,35,211,130,245,84,107,6,69,179,29,178,12,14,148,31,27,105,2,51,127,42,118,179,39,105,224,51,61,56,0,215,155,133,4,38,138,160,105,118,17,241,109,45,4,192,10, -0,160,2,181,112,166,134,247,8,29,23,13,45,6,179,56,4,78,124,190,44,38,216,198,144,102,221,25,117,36,177,41,25,60,79,76,120,255,234,179,67,2,162,252,121,227,79,29,13,78,150,236,33,42,75,1,137,200,199,29,158,163,210,250,8,32,106,120,63,155,1,120,32,241, -164,194,10,72,49,44,100,191,210,56,30,232,239,221,194,155,1,183,176,253,146,211,114,228,13,128,140,57,251,138,89,30,8,85,222,247,198,164,75,96,109,242,85,223,3,21,123,173,245,131,45,47,175,172,81,197,15,159,40,57,88,8,117,110,33,241,175,121,163,176,132, -227,172,104,239,218,166,84,185,179,101,131,5,224,28,253,192,100,122,80,53,35,83,184,65,213,147,106,89,130,173,164,50,80,180,85,14,86,230,11,3,167,200,155,206,33,46,133,9,13,16,190,36,170,62,29,148,25,212,27,233,60,71,114,63,27,146,232,8,245,226,19,13, -53,115,34,176,243,167,2,11,18,74,53,129,47,74,124,16,98,99,18,155,120,126,160,154,115,129,226,99,181,25,171,206,254,68,205,158,60,27,168,99,139,137,157,154,169,185,197,165,182,123,252,227,83,182,86,199,243,102,35,55,59,31,227,92,38,206,215,221,80,192, -212,54,82,139,204,211,146,78,174,24,99,249,127,34,92,207,47,79,132,61,202,186,143,48,173,66,239,64,43,196,46,3,2,66,45,0,202,183,156,228,131,156,10,173,227,201,137,77,88,75,156,58,153,141,177,7,212,12,20,223,0,50,166,21,108,137,155,235,40,142,3,228,252, -71,98,27,22,183,177,251,125,115,83,74,150,36,31,203,212,29,93,232,123,162,98,191,52,47,56,239,98,47,41,95,114,177,174,152,92,231,99,212,216,209,203,165,227,172,65,245,168,175,129,29,212,247,61,253,213,155,116,160,43,77,133,29,195,240,136,153,225,249, -9,16,192,6,62,133,69,219,159,87,210,100,137,183,124,9,9,0,165,220,144,149,254,199,8,140,232,48,251,7,227,242,254,157,94,128,64,93,250,238,12,88,32,112,184,234,19,127,3,2,105,89,247,200,199,141,59,251,201,134,107,207,107,215,235,142,204,233,149,41,16, -233,124,63,36,148,96,166,211,26,96,83,29,214,47,33,56,137,245,210,227,109,154,111,34,106,157,212,99,222,7,171,80,119,115,243,117,85,111,198,204,132,51,243,64,144,6,249,196,242,62,110,82,159,96,36,177,231,147,0,19,111,230,212,67,127,235,152,244,40,155, -186,90,176,124,169,173,122,207,185,126,243,220,255,112,134,105,116,10,236,30,19,107,198,161,96,192,25,67,92,24,203,210,232,177,160,158,25,29,230,183,27,181,105,153,245,40,167,12,177,230,110,211,43,27,173,40,251,122,94,120,65,233,229,27,147,9,170,15,229, -248,174,249,88,152,98,153,47,196,159,180,189,188,42,67,31,105,138,39,147,78,152,113,104,116,173,219,229,140,133,193,148,227,120,156,158,32,185,62,204,110,221,17,17,79,180,149,181,63,94,83,51,164,166,144,0,201,133,83,22,255,169,30,42,44,105,24,191,128, -107,129,88,101,74,121,231,222,136,37,129,146,245,123,228,137,122,142,12,129,155,93,8,203,126,47,215,199,22,227,178,217,138,44,120,15,27,227,130,215,169,151,255,248,0,234,28,59,10,143,117,223,221,29,109,238,222,116,250,96,59,212,119,94,25,201,226,169, -213,16,10,225,228,82,25,162,88,98,87,23,129,240,143,229,132,107,34,110,152,108,66,85,162,174,144,238,17,113,170,32,51,45,9,7,43,89,158,67,141,117,149,80,189,82,20,117,130,53,109,124,232,102,205,195,83,205,94,34,72,21,8,223,87,119,28,61,24,202,82,25,162, -41,174,102,78,172,113,46,157,107,186,100,60,115,248,122,54,142,207,116,150,156,140,126,88,145,70,56,25,161,75,154,120,173,74,0,28,133,198,239,74,41,78,134,70,241,185,107,243,15,99,36,63,0,18,241,212,19,150,131,25,204,172,154,85,236,214,102,225,90,84, -13,195,10,145,217,225,124,165,209,145,247,45,203,201,212,132,92,128,147,160,152,188,138,97,131,42,168,136,189,239,30,33,49,111,0,251,29,75,113,65,210,209,24,101,89,169,239,223,29,6,237,99,16,214,94,25,236,222,203,21,81,51,178,35,186,179,219,87,175,188, -180,21,222,126,185,167,147,168,9,127,90,135,127,14,152,133,129,239,15,133,101,10,97,67,26,237,84,202,171,34,220,23,225,179,106,117,156,77,184,192,246,84,147,183,37,17,191,176,52,227,230,23,154,229,244,76,138,133,130,60,58,203,29,180,169,160,177,0,75, -145,168,155,228,103,37,18,154,196,180,62,81,32,62,150,235,180,168,132,137,43,225,164,179,143,185,91,246,231,178,201,90,249,39,54,26,90,202,68,34,70,89,219,206,50,25,32,231,18,166,120,31,255,221,124,213,191,95,77,38,191,221,145,9,171,52,197,136,93,205, -196,199,170,67,36,240,240,156,191,35,209,206,117,185,186,58,175,201,120,92,187,118,77,111,255,187,109,245,250,104,209,144,241,200,134,112,165,8,34,70,169,209,163,253,61,4,220,13,61,197,42,48,216,172,154,141,117,111,48,16,128,80,166,177,113,214,39,205, -35,137,199,67,99,146,144,165,61,100,13,217,202,17,148,108,192,192,205,82,58,20,137,255,217,120,238,76,183,255,234,47,1,252,164,160,14,217,138,133,133,224,157,20,180,83,159,250,88,189,4,214,50,221,221,92,109,222,238,5,125,56,117,104,119,208,185,175,3, -178,82,218,214,171,220,188,132,66,234,204,167,34,221,154,181,106,234,132,114,141,105,118,27,32,220,129,96,109,21,143,102,227,28,231,189,168,234,160,232,231,121,88,233,26,40,193,204,35,177,175,157,7,71,194,15,43,159,147,215,147,248,86,251,163,170,150, -19,95,92,126,226,233,191,249,47,4,81,133,154,145,19,139,122,28,139,98,164,63,179,204,74,233,3,40,216,208,27,75,243,116,6,139,166,19,248,44,214,25,196,140,157,234,174,94,203,212,48,100,135,96,211,114,234,91,35,244,165,148,73,177,104,57,83,227,187,200, -157,188,246,154,82,79,32,225,190,125,28,249,217,107,224,244,175,225,11,172,122,107,203,227,45,225,206,164,3,128,143,113,136,52,252,173,90,191,180,46,115,131,239,86,136,24,198,214,169,77,100,168,242,105,126,88,176,135,127,90,52,197,123,90,145,45,42,218, -35,157,237,14,85,152,134,240,189,126,44,64,238,38,154,235,107,205,242,137,17,8,25,210,73,134,0,9,106,235,184,178,91,83,105,127,167,151,181,171,158,11,118,152,3,209,34,127,80,15,245,51,159,157,26,111,111,13,202,63,61,232,167,79,62,61,95,6,113,97,242,113, -238,158,253,185,217,242,205,155,125,125,247,86,102,70,29,154,98,200,22,68,87,119,119,172,206,124,178,129,240,39,151,115,141,48,73,223,189,179,171,154,0,73,56,181,170,57,5,237,30,128,131,31,56,209,90,118,46,68,65,136,68,2,8,17,248,151,40,14,52,210,200, -0,101,197,36,162,209,82,140,33,5,9,94,89,141,136,222,223,8,77,178,35,109,36,144,145,3,69,72,20,2,250,137,153,2,44,38,152,251,180,14,112,201,147,194,26,174,42,60,177,148,179,19,127,204,120,50,129,187,233,31,176,192,173,180,201,188,214,123,247,145,247, -74,253,60,229,206,204,29,176,84,75,238,233,68,153,221,57,73,178,203,123,32,23,251,54,125,125,23,83,44,97,142,162,96,159,51,87,94,184,162,57,228,146,35,226,38,225,78,7,4,5,7,66,178,155,142,163,94,39,125,158,25,190,80,218,26,26,65,118,96,114,66,124,89, -178,78,89,101,154,16,253,176,103,70,250,86,39,203,137,53,246,208,24,241,177,244,139,236,50,174,183,234,111,228,50,212,193,10,171,71,147,44,28,45,242,211,240,173,44,70,117,91,111,60,80,223,253,78,47,120,233,107,35,16,227,129,233,220,199,119,219,207,224, -119,67,213,152,179,174,49,171,221,153,31,139,221,147,159,106,217,209,176,112,48,171,248,252,12,90,222,145,159,255,96,19,208,210,147,70,62,3,135,108,18,179,56,240,12,46,7,189,41,194,5,83,53,51,211,176,52,233,82,230,98,124,100,35,101,53,76,227,73,238,221, -30,161,27,57,170,47,221,57,106,6,199,165,132,122,126,100,2,221,143,160,39,254,86,111,138,7,213,52,56,158,39,230,42,83,210,234,249,64,58,242,212,219,14,118,90,50,249,194,112,231,165,177,8,212,62,143,116,42,139,249,39,157,119,71,159,255,46,26,171,75,159, -2,146,222,16,25,36,66,240,196,97,209,119,119,110,42,86,166,63,232,69,138,92,113,13,39,133,29,117,17,242,135,179,69,0,31,103,56,187,208,56,176,60,174,145,88,152,51,207,160,225,103,4,120,114,2,244,99,11,33,216,217,141,200,66,148,128,21,221,200,87,2,103, -64,206,56,35,231,158,90,122,243,230,75,91,42,183,25,249,93,81,20,118,74,117,182,199,193,181,127,179,149,196,205,18,198,182,166,178,33,146,34,211,145,25,247,67,181,187,73,64,194,100,123,224,78,156,118,234,141,191,28,155,151,254,75,174,23,206,25,55,61, -47,240,84,189,252,103,119,129,130,19,38,11,244,212,92,228,198,163,28,160,37,86,52,187,89,158,187,44,183,38,69,38,136,51,50,145,88,208,160,110,21,153,47,196,185,136,163,10,144,34,101,101,114,125,233,189,39,188,39,145,142,15,52,106,105,251,22,201,175,18, -217,72,150,36,203,130,207,10,23,224,23,150,65,14,95,227,115,191,165,120,130,200,66,190,50,36,133,52,7,5,76,255,181,135,180,221,220,12,206,87,115,74,239,14,253,140,40,86,129,222,124,61,47,31,93,90,82,7,157,135,74,9,0,197,199,57,254,240,176,57,235,93,53, -182,18,175,56,140,138,160,48,236,139,229,24,116,230,98,121,144,82,100,171,228,96,228,87,21,187,196,178,251,48,175,99,166,236,252,12,194,160,173,100,228,29,181,86,26,89,232,64,97,205,160,53,48,195,57,137,97,48,75,185,180,181,197,236,44,15,73,43,150,210, -113,254,232,169,199,239,252,210,223,251,88,191,0,155,193,162,47,209,14,229,233,90,24,55,53,216,133,223,108,180,104,110,69,231,89,55,204,176,164,213,70,178,29,73,131,122,43,64,172,77,183,31,186,205,191,208,250,245,63,203,216,3,105,63,189,122,198,206,28, -111,112,29,185,189,7,125,197,194,52,190,7,66,42,55,236,102,122,170,221,112,68,201,163,126,41,35,15,96,142,229,241,36,9,29,27,167,39,220,49,227,111,17,163,164,114,220,195,226,122,220,62,54,123,242,214,91,78,46,62,44,145,110,78,45,137,0,158,7,186,163,32, -228,176,139,76,55,176,112,105,134,249,220,225,112,40,67,61,79,144,255,199,226,202,239,251,153,201,204,201,238,130,190,101,197,138,170,246,41,224,177,176,64,83,124,69,46,149,80,223,210,252,252,142,180,221,209,131,233,190,11,184,252,218,231,148,204,220, -61,57,119,214,221,125,121,100,57,58,110,62,247,171,41,169,202,98,216,169,206,9,101,204,113,66,216,50,205,140,211,84,56,4,139,168,152,4,5,81,126,0,130,130,166,215,114,30,4,87,117,232,79,128,230,42,7,18,250,206,55,212,159,127,230,103,207,14,142,47,197, -101,175,63,228,180,88,35,221,141,192,21,123,59,185,25,13,56,77,205,232,241,168,52,121,86,170,28,177,103,218,2,163,217,45,220,160,99,221,253,91,142,8,216,205,46,202,76,9,149,247,83,245,103,95,237,234,91,27,251,48,149,218,62,118,102,202,206,30,111,178, -87,199,189,241,93,36,63,225,25,219,51,13,87,107,72,135,58,168,202,132,229,145,172,86,33,34,102,18,223,199,197,161,47,105,100,77,84,224,29,45,0,150,58,140,99,225,214,237,169,197,79,110,168,192,215,198,193,247,58,230,240,249,27,65,154,177,253,140,232,215, -165,184,29,192,45,213,33,212,178,24,187,26,77,48,222,161,141,84,34,147,237,156,162,147,63,168,162,136,233,135,178,224,136,66,22,142,239,244,110,234,197,206,134,230,236,103,191,83,200,97,93,140,59,90,204,246,118,74,81,254,210,102,31,14,87,69,240,203,10, -10,86,40,54,101,36,1,180,118,232,125,44,87,211,248,77,132,54,112,14,204,252,239,38,3,157,229,67,196,138,138,116,177,28,156,112,22,147,94,137,165,80,76,67,17,157,192,126,10,87,102,44,21,82,81,36,117,247,240,182,251,59,106,112,176,151,221,252,133,191,253, -177,193,96,212,53,96,202,57,83,2,75,221,146,71,23,45,161,214,177,90,127,212,43,244,153,103,210,188,214,44,16,224,143,85,119,191,52,221,29,163,16,187,154,153,249,84,172,36,251,92,35,83,71,178,60,214,243,139,45,196,216,214,229,120,207,108,84,234,227,143, -76,185,214,108,82,146,170,6,80,2,216,49,228,151,113,61,100,39,128,98,69,108,150,177,151,199,151,204,16,165,211,41,151,62,240,145,170,69,41,94,177,4,120,245,219,11,199,151,31,16,241,149,130,252,224,106,114,154,100,229,7,149,112,120,73,32,49,177,0,228, -156,221,184,48,195,57,194,6,224,56,95,149,136,68,246,222,174,159,174,122,84,174,180,144,229,40,183,76,219,125,234,51,161,84,81,80,30,28,193,191,182,118,69,189,125,251,151,119,8,118,114,248,209,4,213,4,176,201,130,56,239,255,20,205,212,144,152,222,254, -179,210,18,60,49,31,139,111,43,218,219,174,215,165,61,144,215,169,98,15,223,113,12,18,212,89,206,242,150,230,96,134,0,156,235,29,73,21,160,229,121,147,31,142,53,109,136,250,147,185,155,79,127,106,161,31,215,17,160,176,247,20,116,35,56,98,203,236,11,223, -24,150,21,39,29,44,17,48,200,237,151,251,1,53,89,194,149,204,83,6,69,102,212,247,94,226,91,70,162,85,35,152,182,39,158,105,148,236,18,34,159,154,164,145,59,190,56,85,146,39,102,133,69,90,143,221,104,0,158,185,95,232,153,227,45,88,29,198,193,129,175,84, -167,78,179,22,86,25,73,40,56,207,163,72,178,65,126,167,242,74,123,106,233,227,255,78,123,130,177,234,203,44,196,244,102,85,236,90,64,208,108,249,24,225,75,231,240,175,178,232,225,106,24,191,114,62,20,85,129,213,49,176,252,142,147,238,51,153,199,184,39, -123,17,112,23,146,169,70,33,173,30,183,111,12,228,181,91,139,93,183,177,113,223,110,188,176,230,222,77,134,239,64,197,82,26,115,137,83,175,151,245,218,198,154,155,200,149,53,79,127,12,100,204,173,73,88,49,71,238,178,9,165,72,145,51,100,182,159,249,216, -239,237,116,221,241,70,67,166,132,242,139,134,100,80,226,216,62,100,159,240,67,234,145,178,21,176,96,175,105,18,49,103,73,120,33,165,71,140,89,221,215,191,98,255,243,221,205,78,254,228,39,142,229,206,20,82,227,59,98,25,61,158,52,198,95,152,96,77,33,15, -7,133,218,187,95,234,206,22,117,46,212,39,159,8,93,92,131,73,238,102,212,54,39,133,106,21,111,255,157,255,210,15,16,135,227,179,52,5,135,69,164,44,242,222,244,213,12,174,97,138,99,240,198,145,8,158,32,41,138,56,217,175,148,248,38,36,157,84,37,144,116, -168,30,206,35,117,135,103,209,157,126,244,83,55,172,244,108,6,126,97,171,192,74,107,60,167,108,26,78,111,115,76,230,192,112,101,30,80,226,50,30,226,87,100,113,201,57,171,156,207,200,215,177,10,37,141,56,213,124,95,117,183,219,246,17,88,197,215,254,242, -142,163,182,114,19,12,30,135,179,142,57,3,106,237,138,204,129,122,95,193,42,53,169,82,188,164,54,32,84,58,216,43,85,227,206,188,90,182,28,77,160,212,105,197,217,247,253,150,231,47,17,131,218,52,225,96,72,229,154,200,4,112,84,123,10,111,79,142,140,62, -118,50,137,84,0,20,199,230,100,136,244,51,146,78,57,126,112,46,241,155,43,115,200,24,94,56,99,77,174,43,187,187,170,127,231,118,240,141,24,203,247,220,143,207,64,163,193,81,35,22,165,112,109,89,50,174,199,253,77,124,50,66,6,22,163,67,208,236,193,201, -199,72,1,20,99,112,182,120,254,48,151,148,155,173,168,191,131,123,90,125,243,247,246,195,24,200,185,209,74,132,59,138,18,18,159,218,215,36,67,154,245,70,84,208,244,51,231,75,222,24,0,202,213,235,169,36,31,88,103,204,145,21,82,7,165,125,242,215,85,92, -241,220,204,194,58,204,240,125,56,110,58,12,164,225,56,26,202,9,50,6,211,101,249,187,83,114,188,16,46,175,211,61,101,35,111,209,242,138,122,37,232,36,235,228,147,236,100,157,160,189,96,165,182,246,114,228,93,23,21,233,68,238,224,69,51,44,253,83,56,174, -254,246,107,150,61,178,151,47,175,77,24,237,119,23,236,164,152,109,34,220,201,154,100,175,8,167,196,112,91,176,157,123,202,189,92,149,158,14,192,23,79,230,13,243,203,180,90,126,92,59,137,108,114,159,181,90,170,250,102,88,114,142,11,231,17,106,153,159, -228,57,99,250,34,250,90,112,199,118,66,152,27,153,89,88,138,146,221,250,118,251,63,252,212,47,60,241,224,137,167,155,195,31,255,185,153,114,52,238,153,71,159,108,113,6,177,59,177,148,210,40,154,159,127,225,248,120,250,68,110,167,216,87,26,23,238,238, -237,62,75,38,220,83,207,214,240,118,88,105,48,122,4,50,210,36,43,189,57,161,68,40,253,222,144,168,216,177,207,149,157,40,32,230,25,214,216,138,77,82,53,152,230,102,171,102,57,231,105,52,202,125,245,132,243,237,61,2,171,39,25,29,175,154,238,217,159,248, -141,127,1,7,108,169,216,236,192,195,50,229,228,68,241,173,92,208,182,192,50,238,59,73,245,150,50,238,143,24,1,222,41,73,68,184,52,199,131,65,95,222,142,209,5,185,247,169,169,41,228,117,58,170,47,181,219,165,19,58,177,58,22,207,212,244,141,139,219,110, -229,226,188,104,108,21,199,190,127,18,96,82,87,236,181,245,138,97,93,49,111,94,127,219,243,66,32,99,22,140,15,111,67,45,246,246,20,171,20,185,237,9,135,51,179,174,152,166,165,200,135,142,136,143,25,12,59,32,65,65,225,210,191,112,18,90,40,102,139,185, -128,128,195,94,168,92,25,139,230,99,206,217,41,247,59,106,144,68,115,87,63,187,250,200,193,103,127,254,120,231,103,254,246,241,97,86,244,213,241,83,169,105,76,27,176,70,200,114,61,232,25,100,84,130,205,215,187,230,212,185,154,8,248,96,167,48,183,55,70, -38,105,24,175,177,136,47,200,7,28,63,29,186,159,254,187,83,57,229,211,108,165,212,60,1,73,5,139,122,141,31,169,3,112,100,64,129,147,59,164,0,164,135,135,113,108,16,50,171,100,164,78,214,190,109,66,203,210,210,185,47,45,30,95,185,199,193,69,88,42,150, -130,231,107,144,71,144,1,96,145,79,233,200,115,9,154,194,74,99,195,58,180,24,105,29,182,83,22,249,192,53,109,77,218,41,253,78,50,109,117,176,107,173,236,53,128,24,182,124,16,153,25,184,192,221,102,230,56,103,145,26,75,161,178,60,70,186,218,47,168,170, -15,229,125,242,177,106,178,14,69,178,107,106,123,89,57,90,227,153,25,222,199,88,246,166,42,122,75,86,45,46,136,198,242,201,117,142,88,24,182,196,140,112,115,4,99,185,218,113,6,216,251,105,19,152,106,14,147,28,121,141,133,95,30,144,65,35,242,97,117,74, -1,79,148,59,97,111,217,228,22,34,224,45,137,59,0,164,190,242,127,216,255,128,240,102,115,231,65,55,124,252,169,153,209,99,79,213,179,227,75,193,232,205,239,117,130,83,31,107,23,223,123,237,129,186,245,23,251,154,118,254,213,63,31,152,189,123,165,196, -157,68,188,124,199,99,143,66,19,27,165,93,124,82,149,237,121,144,122,236,174,33,231,228,123,184,164,246,1,104,152,69,133,242,59,216,169,2,42,20,190,59,211,221,253,161,33,10,54,50,131,79,58,222,97,162,15,119,40,19,83,150,36,201,253,95,252,185,127,114, -153,211,193,74,142,118,204,16,193,224,187,23,128,212,163,33,121,96,63,190,32,22,215,227,164,6,154,11,187,156,196,175,169,215,86,14,182,238,87,53,10,164,18,185,119,144,140,9,74,172,107,130,8,34,88,229,99,159,174,146,48,159,251,245,243,238,57,234,30,107, -138,47,42,67,18,201,39,153,222,39,31,91,29,220,49,210,49,29,196,237,67,86,252,224,46,203,116,209,28,204,49,133,187,181,185,165,56,7,240,216,83,76,5,207,168,244,56,136,10,58,253,102,245,198,53,156,142,57,41,165,64,230,134,167,57,1,87,155,41,254,7,22,86, -102,54,16,84,16,41,58,41,122,161,153,102,23,11,135,117,200,92,60,72,66,217,255,244,175,244,63,59,249,200,244,254,55,255,224,181,244,211,171,143,13,166,142,199,250,147,63,51,15,100,44,173,3,1,173,44,71,188,12,123,5,88,40,163,23,158,104,232,153,71,180, -157,62,25,150,143,60,97,178,95,250,135,179,227,103,126,166,53,126,226,153,250,72,134,23,248,34,23,235,219,239,164,195,219,19,130,94,99,129,60,71,38,12,195,128,220,49,231,70,136,9,102,55,78,233,59,61,84,197,249,3,156,245,87,127,246,31,93,146,57,107,156, -66,195,248,21,32,48,144,150,65,44,152,20,177,124,148,75,238,121,144,201,0,18,155,143,199,150,86,107,128,248,149,183,9,156,136,136,155,22,217,164,168,46,231,206,78,7,38,141,219,110,178,107,23,143,62,92,31,39,182,245,4,52,45,203,125,178,159,145,239,214, -176,27,43,151,222,129,140,223,71,99,181,227,74,152,164,134,88,56,229,31,218,80,159,226,182,157,217,216,246,15,182,220,95,108,149,126,254,61,130,174,233,150,181,61,187,111,243,168,42,213,232,247,44,145,113,81,141,129,5,107,239,252,138,205,4,92,4,9,23, -89,104,15,227,60,14,48,200,217,208,195,47,134,208,7,198,233,205,87,237,131,205,215,210,127,245,27,127,255,199,14,192,0,142,62,241,236,137,131,56,181,57,78,182,89,254,212,137,209,227,207,180,237,184,24,193,103,229,156,25,130,19,12,12,130,219,59,247,14, -212,75,223,232,196,131,46,200,201,81,81,133,232,18,127,86,185,243,10,250,248,8,73,232,36,222,158,158,74,139,40,13,114,206,11,227,217,25,15,225,25,160,185,0,83,218,151,81,248,89,7,31,95,126,238,197,165,211,43,247,56,120,196,201,228,34,203,161,185,12,0, -44,126,1,120,202,208,50,196,97,49,27,149,30,230,216,242,91,91,51,246,85,116,174,242,175,135,91,197,244,21,39,148,231,131,122,57,134,143,229,57,101,212,193,237,93,56,200,155,109,53,156,210,118,102,243,8,117,40,131,193,31,110,155,118,84,128,239,40,102, -155,104,44,7,120,61,7,255,250,121,229,55,24,228,177,172,188,49,230,80,169,229,159,60,29,220,121,67,57,217,196,243,110,105,103,231,248,12,4,127,182,105,163,121,21,244,190,107,225,131,235,102,204,68,120,134,132,65,1,140,28,112,216,4,204,173,97,235,131, -15,127,66,233,154,16,194,208,90,153,166,71,118,30,56,185,224,28,15,58,96,101,214,127,87,125,243,111,53,131,185,197,199,213,47,242,177,229,79,28,63,128,6,153,238,190,14,151,206,70,249,99,103,27,193,141,63,122,160,78,158,154,51,156,20,53,183,128,147,88, -102,201,226,82,35,99,189,20,66,15,132,46,19,58,213,74,201,158,160,219,170,82,72,85,143,176,1,90,84,186,244,247,3,89,195,233,130,182,236,33,91,8,191,9,70,77,38,26,44,45,126,236,202,103,62,243,194,31,225,59,151,196,253,48,216,136,145,67,177,60,196,77,156, -17,23,196,88,161,220,209,35,8,69,91,99,164,226,56,188,11,24,194,54,27,49,199,2,177,195,0,25,159,132,46,205,206,5,13,55,96,34,5,120,100,26,41,198,238,97,14,27,49,43,190,252,28,252,107,242,245,101,247,229,150,114,203,29,169,30,85,208,212,74,192,23,100, -47,188,163,204,225,59,226,159,106,93,11,239,72,225,50,125,183,182,182,172,159,159,57,99,252,86,160,62,225,190,251,157,80,183,231,125,114,156,157,237,220,221,202,100,136,89,186,48,140,117,19,244,238,194,71,44,14,12,200,163,32,75,97,228,216,70,105,101, -102,169,225,222,145,108,196,42,199,38,224,92,96,91,74,31,158,225,140,68,68,185,17,59,194,117,213,250,207,6,45,214,159,114,74,204,223,252,251,238,151,23,31,83,191,180,189,213,13,103,143,181,237,160,7,181,96,47,12,22,193,238,118,86,251,246,215,55,205,210, -99,243,172,6,181,51,199,146,114,136,16,233,165,111,190,25,159,92,154,178,199,142,213,114,254,112,210,144,32,230,153,205,81,99,240,119,249,184,64,218,142,172,85,207,140,179,28,73,128,161,25,141,134,122,127,175,167,239,221,223,11,7,253,33,140,72,174,251, -253,158,30,102,3,189,180,244,196,151,254,214,207,255,119,255,39,160,125,206,173,36,0,22,10,21,8,113,198,73,26,50,34,40,14,252,44,10,55,176,185,184,155,0,9,85,196,98,22,86,128,105,42,90,177,184,30,151,12,113,91,160,222,68,37,108,221,238,13,240,107,96, -245,88,196,54,217,121,43,40,115,75,98,66,245,79,219,205,25,229,254,201,243,74,223,223,240,233,186,85,172,210,23,110,248,25,33,111,223,116,233,125,135,100,122,213,189,160,56,170,224,106,231,53,187,176,57,172,182,47,203,220,99,171,167,213,217,149,64,115, -216,52,167,135,143,122,126,107,176,46,190,212,96,127,223,54,79,42,153,235,31,135,125,97,87,56,33,133,219,160,48,248,176,58,42,57,112,99,98,162,100,78,82,226,205,49,68,110,153,125,167,121,147,41,222,5,59,43,77,206,209,34,255,241,159,155,223,123,233,143, -244,255,142,16,105,112,227,79,239,196,32,40,130,157,187,93,93,175,39,69,163,25,151,208,48,253,205,107,111,70,49,8,217,233,185,52,63,54,95,207,127,230,23,206,14,78,61,62,61,70,76,76,127,41,168,213,149,71,42,150,170,58,23,87,217,233,2,153,239,97,159,131, -41,116,152,36,1,83,126,64,248,44,73,213,131,143,157,251,204,139,191,184,250,79,254,121,105,240,53,149,76,0,43,227,136,248,0,43,21,84,24,200,8,118,110,243,201,150,99,145,101,76,125,24,217,132,99,251,0,22,137,134,217,210,193,105,228,132,100,51,88,150,28, -49,79,66,103,192,13,154,202,93,203,52,104,3,108,19,195,73,214,150,77,102,80,72,73,12,66,147,63,128,182,210,130,190,120,195,215,124,115,114,30,133,250,246,68,159,126,31,193,138,208,185,71,221,252,198,186,228,101,165,35,96,29,166,121,190,90,16,28,7,116, -11,127,207,37,230,209,233,72,54,51,72,143,71,33,39,136,7,205,1,137,82,105,134,70,48,104,178,52,144,73,161,82,150,150,225,15,206,69,26,233,96,8,173,149,84,31,199,1,21,126,28,144,104,107,200,105,180,58,200,11,63,73,70,6,99,114,58,27,212,123,233,81,117, -236,39,126,97,252,223,226,29,103,254,243,191,127,181,245,179,127,115,121,248,250,95,110,71,227,161,142,79,157,158,30,246,186,67,89,74,33,12,10,17,50,247,35,28,143,139,160,0,129,145,81,99,199,0,53,72,186,83,99,113,17,20,60,236,143,244,96,56,50,221,131, -190,217,219,239,27,54,151,245,122,131,96,231,193,1,210,60,225,173,103,63,253,155,255,211,194,137,115,119,233,83,177,64,65,162,154,130,220,18,115,84,16,106,33,190,148,166,56,176,156,23,40,99,128,56,215,120,50,14,40,131,224,240,79,217,108,112,141,68,57, -205,50,181,149,130,237,67,239,167,27,13,219,117,15,181,149,137,245,20,218,58,25,76,77,42,209,239,21,112,93,205,92,61,111,253,78,217,111,157,91,172,212,195,73,168,223,87,176,50,255,191,106,126,230,155,93,239,40,35,59,117,28,153,243,196,61,220,90,8,125, -12,55,212,69,182,167,41,237,221,198,32,61,35,131,51,58,57,123,36,217,225,158,5,118,92,147,105,167,20,50,59,220,35,228,212,56,215,63,148,57,197,176,82,69,44,147,69,33,96,19,165,58,146,13,27,112,59,147,177,74,90,182,134,4,90,14,56,135,248,231,127,51,255, -229,147,167,130,223,120,233,155,91,181,211,79,206,14,175,254,203,239,182,143,157,104,150,244,93,155,223,235,199,51,115,53,199,166,132,246,108,152,167,181,160,40,104,24,45,83,140,16,44,114,197,200,201,178,248,92,81,168,125,228,33,59,187,189,112,52,28, -81,160,102,119,183,27,116,187,195,241,212,236,201,175,124,246,217,127,112,185,0,181,201,172,27,146,4,101,14,134,44,231,244,19,86,248,192,193,112,11,32,167,189,96,97,156,11,114,226,36,249,145,170,203,45,199,168,146,128,32,103,38,93,237,68,200,214,198, -38,17,94,84,70,1,69,13,188,184,83,6,237,150,109,128,164,217,191,143,144,7,160,137,109,177,164,111,251,48,197,221,123,133,123,233,209,125,123,94,38,186,251,190,157,13,191,15,207,97,145,255,209,180,93,160,222,199,12,139,198,114,224,156,79,197,170,109,0, -135,151,90,74,247,106,243,220,130,69,205,206,105,117,247,65,160,27,179,165,235,182,88,70,226,41,178,144,197,224,248,91,131,42,62,216,142,85,138,191,86,250,118,66,53,42,70,50,176,35,137,164,251,140,204,189,98,123,59,126,180,142,25,223,24,63,89,141,212, -77,204,118,97,152,175,82,200,120,91,133,224,36,169,100,18,184,123,253,21,243,221,7,119,213,31,157,121,42,53,205,134,62,241,200,227,109,38,95,57,215,31,80,186,31,238,220,129,239,220,181,102,235,141,126,52,26,23,81,41,201,97,82,195,8,149,153,53,2,253,67, -130,98,156,145,127,206,161,181,99,13,97,154,253,206,40,139,107,199,254,237,249,207,254,221,255,249,212,163,159,250,22,150,17,33,113,193,33,174,185,165,95,117,69,28,115,103,82,102,222,180,184,140,24,244,164,21,70,49,18,194,137,154,138,149,90,214,146,4, -190,133,144,153,233,185,132,6,172,148,209,243,141,182,157,117,145,240,143,128,140,182,57,155,168,238,192,218,221,7,120,115,112,218,181,94,193,169,229,106,80,95,178,167,146,7,234,102,150,185,115,181,66,109,233,174,8,111,126,251,180,250,60,204,245,197, -175,94,124,135,80,223,83,99,143,78,142,193,159,163,213,112,138,229,24,95,252,237,117,63,67,183,81,55,143,157,198,157,183,16,171,157,110,132,100,148,203,157,93,163,118,65,90,28,15,67,206,46,218,222,237,233,198,84,203,112,94,175,29,105,115,20,72,149,3, -14,83,228,222,54,204,133,27,153,77,204,217,191,210,206,95,176,156,168,148,25,79,94,87,53,119,109,13,57,225,180,100,241,47,83,166,162,185,161,12,34,57,126,178,60,246,200,41,251,196,241,197,114,181,223,207,158,184,125,179,147,180,90,156,128,230,184,209, -160,137,107,44,56,71,94,126,4,40,36,121,92,111,138,123,7,67,61,28,229,65,247,96,96,250,131,242,102,191,31,188,252,232,169,159,248,247,58,108,245,184,0,180,51,190,29,203,72,20,43,116,33,181,150,108,133,83,30,7,8,80,146,113,124,0,77,98,146,173,220,175, -57,184,139,205,177,113,194,65,108,5,177,6,76,181,96,238,52,76,203,190,204,81,108,202,152,91,96,65,217,85,139,59,106,249,237,74,89,109,183,96,121,114,23,190,115,186,84,191,69,77,93,119,236,213,17,30,191,58,30,214,19,127,0,193,78,132,203,216,232,242,229, -11,178,37,8,39,180,77,70,189,113,66,219,12,16,178,236,46,121,83,41,153,89,188,147,24,22,145,207,226,244,203,230,185,144,213,248,101,231,134,237,126,192,13,121,57,73,134,99,204,250,244,183,12,211,169,153,99,109,234,49,167,182,165,156,120,25,112,154,56, -7,80,155,16,161,108,1,108,236,252,54,44,134,169,106,153,232,13,81,114,106,91,201,113,140,37,19,215,70,8,65,25,115,106,57,160,144,13,65,230,196,241,242,216,177,133,236,108,154,22,167,16,27,47,34,174,154,3,19,112,140,177,40,16,49,209,240,16,153,149,97, -54,214,119,32,244,206,221,173,209,157,246,244,199,190,85,218,168,207,40,140,224,71,102,29,195,219,9,215,76,237,35,236,117,156,251,231,56,130,149,255,122,211,43,123,71,100,200,62,32,238,197,117,206,46,78,234,145,29,2,243,114,102,113,100,98,248,221,145, -203,108,132,156,32,132,13,206,152,66,37,67,151,196,156,198,182,111,79,204,183,220,206,27,120,218,148,247,173,172,33,238,87,19,217,56,249,116,25,196,144,186,177,44,11,130,100,196,100,151,50,47,217,138,51,248,48,26,235,181,214,39,5,124,145,219,154,34,11, -181,9,193,46,118,106,154,51,41,238,252,228,157,224,224,219,75,174,81,222,147,125,235,30,175,178,62,97,43,12,6,247,216,171,194,105,123,125,51,222,243,181,199,65,58,14,6,84,208,146,27,254,114,7,20,68,128,131,20,154,155,5,28,27,79,225,234,58,195,30,101, -198,102,20,154,113,196,25,13,80,104,14,204,242,115,137,11,6,22,108,191,148,73,252,44,192,16,215,5,50,40,48,227,65,233,219,42,76,88,117,25,148,210,115,75,196,93,142,113,27,217,29,153,166,38,191,147,157,83,126,32,181,140,96,151,137,48,74,82,169,36,245, -153,115,147,183,87,172,125,40,132,246,140,130,64,72,7,86,186,200,76,79,50,103,67,121,71,96,110,14,31,10,189,31,141,8,150,98,176,55,174,36,9,1,170,144,248,222,202,222,180,81,207,49,137,211,9,138,178,6,9,6,45,191,69,26,35,11,18,18,51,141,5,183,209,185, -229,100,134,34,184,97,169,35,86,94,176,50,93,156,237,173,27,126,87,143,247,26,107,251,1,246,221,185,192,118,15,189,86,109,231,204,253,195,63,183,120,222,169,149,101,203,81,153,225,235,75,150,25,159,77,100,248,159,196,151,19,52,7,226,122,124,199,185,228, -164,236,155,98,123,251,12,225,248,227,234,0,136,32,224,1,3,57,113,27,92,168,229,138,14,103,240,131,106,202,19,228,149,25,235,65,11,202,177,245,160,36,150,250,9,49,117,50,140,210,151,196,177,136,162,40,93,238,159,163,116,142,44,127,22,70,176,231,8,148, -113,98,11,46,1,60,63,199,58,202,40,28,147,24,208,178,220,143,73,58,28,51,129,116,160,106,225,28,16,223,24,192,28,144,13,220,204,39,144,221,3,64,28,69,192,64,65,30,38,178,77,142,196,169,142,251,171,197,126,32,166,180,72,86,154,10,68,84,214,17,167,38,17, -175,199,28,240,227,202,134,79,162,235,36,181,113,85,37,81,140,123,46,223,129,37,203,107,197,52,123,158,170,100,58,133,202,115,71,250,144,123,22,81,168,68,195,11,191,59,244,155,25,174,109,4,19,13,101,42,149,66,229,118,164,239,181,113,225,187,10,246,136, -244,133,178,90,126,225,194,100,24,163,32,99,217,81,239,240,184,41,151,169,42,1,79,136,222,170,227,139,131,192,230,222,50,227,164,227,82,14,27,153,117,194,133,154,58,80,96,43,41,115,252,224,81,25,23,28,82,11,54,176,28,244,108,217,47,163,34,199,137,225, -64,73,238,80,133,245,47,179,128,93,229,183,104,250,24,39,241,164,210,215,69,1,5,204,19,108,184,83,128,159,68,234,119,201,1,104,133,224,32,68,19,198,204,211,148,220,77,2,177,37,135,175,113,56,30,135,94,0,189,114,84,50,132,136,215,4,68,185,16,174,204,108, -146,247,132,55,39,189,137,207,204,71,54,199,155,9,241,224,98,152,224,56,244,38,152,161,12,22,32,129,82,2,35,76,36,156,179,114,36,30,50,84,199,251,12,176,128,193,58,236,245,75,110,50,236,71,198,91,59,85,231,206,209,7,160,43,59,110,63,47,236,100,35,97, -142,216,107,128,27,8,79,42,203,237,89,24,226,108,33,69,199,105,2,243,27,80,164,21,14,45,189,34,5,134,146,92,95,243,187,110,191,219,102,15,239,233,99,39,199,145,129,94,147,50,71,181,190,174,12,119,201,146,201,170,243,27,230,112,111,128,91,8,170,127,60, -212,201,84,18,164,0,70,108,1,228,152,219,225,248,64,239,171,41,21,129,145,138,65,90,112,47,245,58,125,48,66,160,188,59,210,41,64,88,183,231,183,105,73,140,223,74,52,21,16,149,115,223,142,128,251,51,112,62,20,25,42,191,73,18,235,176,57,70,167,240,211, -200,149,128,45,69,63,44,147,90,170,158,25,154,107,139,36,60,169,29,22,163,179,130,25,22,219,9,23,205,22,199,66,230,58,65,237,124,141,179,146,45,69,67,249,141,188,95,138,238,10,154,82,37,37,61,218,249,125,120,72,127,142,57,77,220,111,178,84,112,71,203, -72,123,208,45,219,146,194,10,153,196,19,255,76,201,53,210,148,113,150,101,113,207,96,159,17,112,105,199,200,136,49,43,198,193,211,212,86,126,38,53,246,1,20,35,44,150,124,161,224,88,73,120,115,189,74,154,94,189,138,196,250,202,26,0,212,21,61,41,128,184, -114,101,195,85,116,226,7,3,79,71,5,203,189,1,86,170,157,35,232,183,95,168,70,221,174,172,172,4,100,163,126,122,241,188,254,3,144,211,91,139,183,130,229,246,105,173,222,0,159,28,220,51,73,51,10,118,119,118,21,123,124,194,162,39,147,109,185,83,35,243,181, -245,54,155,162,125,55,188,205,178,144,229,33,54,203,67,132,150,166,77,27,25,177,167,37,211,17,236,231,216,112,7,35,191,3,22,183,37,147,239,69,33,82,239,240,140,195,93,178,232,41,33,204,80,249,25,136,50,10,12,241,18,242,163,213,102,74,190,81,138,85,145, -44,84,15,89,246,10,53,103,35,114,198,68,127,41,37,200,72,218,251,205,149,40,68,230,141,89,237,17,232,90,201,60,114,81,181,40,112,202,26,93,70,61,173,118,203,226,68,161,216,147,251,101,48,196,123,197,133,248,86,241,171,48,232,19,161,54,154,118,60,4,201, -31,239,186,189,162,45,2,132,157,176,76,205,29,198,172,48,195,201,248,172,60,54,211,81,66,70,92,169,246,111,223,184,162,100,148,4,229,80,117,35,188,235,134,74,223,87,176,228,139,57,188,130,233,59,170,232,242,141,109,55,191,50,175,183,217,34,143,15,34, -82,230,198,74,91,220,133,242,103,150,245,201,194,155,247,141,151,183,244,236,98,18,14,191,231,171,44,184,7,79,191,209,15,56,97,38,60,30,6,227,142,7,83,20,50,146,201,102,176,59,54,169,241,91,138,74,19,112,201,82,21,165,71,121,206,145,139,38,229,214,39, -73,108,74,74,62,16,108,20,60,220,254,140,90,92,104,207,108,17,52,1,253,112,70,60,59,198,57,41,205,248,153,23,178,136,140,159,129,33,101,58,80,73,47,68,144,90,145,108,19,226,2,169,122,200,165,0,77,230,80,107,238,138,37,101,43,54,150,253,0,168,217,99,75, -74,148,59,85,50,137,49,40,148,207,216,48,100,197,165,59,142,203,169,208,239,82,41,123,203,130,228,79,166,113,123,80,148,237,118,91,61,128,139,98,246,134,128,105,183,218,199,189,221,60,225,226,91,183,68,64,221,183,109,20,252,91,51,176,148,147,94,229,35, -131,167,43,7,251,174,197,108,223,87,176,149,214,26,223,236,115,65,85,66,118,156,47,68,32,69,147,192,221,40,89,198,200,78,107,238,113,135,244,83,160,216,74,127,63,52,13,238,160,187,139,211,8,63,114,156,123,168,226,232,231,253,128,195,32,155,237,192,68, -121,83,143,247,6,50,45,85,134,125,113,212,235,152,176,199,239,228,204,13,92,229,59,24,191,113,17,107,193,24,6,73,151,30,19,10,92,241,208,78,184,65,29,198,177,241,3,60,34,53,230,108,165,170,220,147,197,218,92,12,212,106,73,17,226,126,10,176,76,32,116, -216,78,100,34,156,130,148,153,12,151,106,7,231,205,45,133,43,187,83,210,228,66,67,101,161,24,111,118,51,242,191,185,55,189,97,157,117,62,4,125,137,248,84,237,0,150,240,4,34,96,206,252,103,242,156,37,165,156,219,113,240,160,176,245,147,211,46,224,140, -172,212,55,52,191,38,27,5,151,50,241,238,201,179,103,213,201,57,95,33,202,65,93,139,0,170,236,131,173,90,37,171,182,20,47,59,253,62,219,140,126,95,84,92,81,139,238,112,227,173,202,182,95,184,176,58,1,83,193,243,207,159,7,65,13,63,112,101,67,176,20,77, -138,218,84,172,45,149,221,141,183,171,226,242,12,171,52,27,208,60,53,173,238,52,97,129,157,148,144,112,53,55,107,128,252,220,132,129,123,178,68,182,224,120,117,34,103,210,112,124,45,17,51,48,111,46,9,249,164,26,201,14,255,71,77,34,104,33,160,161,77,86, -81,128,79,3,49,28,51,53,30,228,4,60,5,51,164,177,223,148,129,243,84,75,155,21,5,231,163,6,0,88,1,43,185,97,153,249,60,68,207,114,29,207,31,19,157,227,253,128,134,242,180,12,50,169,160,195,199,197,164,9,185,65,41,43,36,104,110,107,177,31,128,41,230,217, -11,149,149,35,229,176,198,93,42,108,18,121,255,233,247,110,111,137,80,73,242,79,132,74,176,249,24,210,114,97,225,133,202,222,156,141,117,70,28,247,197,191,250,83,126,229,112,18,173,199,59,218,85,35,240,223,243,248,64,62,246,232,237,163,197,201,212,94, -191,119,248,186,246,64,234,184,121,140,64,136,80,189,27,234,111,247,67,189,200,45,188,129,246,154,200,0,213,30,135,217,29,26,93,118,15,204,168,102,244,20,0,213,30,52,245,100,91,155,157,78,95,79,87,166,121,12,115,204,162,115,154,101,14,146,164,137,165, -105,150,153,139,54,3,145,3,232,83,70,110,220,203,77,163,13,98,36,171,246,145,229,96,176,60,87,147,158,91,106,169,58,236,49,70,66,144,247,243,113,195,234,186,92,6,106,177,81,172,52,126,215,201,72,197,82,26,203,130,187,178,106,115,100,243,84,152,135,101, -204,89,195,67,39,187,81,66,226,37,247,112,47,66,220,1,160,84,192,167,178,17,141,207,111,2,253,82,152,67,34,228,237,3,41,254,206,17,171,114,54,34,51,95,20,106,148,31,179,105,11,4,109,50,46,89,241,25,67,176,228,130,147,71,207,138,48,191,188,181,161,159, -83,203,150,69,132,116,117,47,222,184,226,86,46,67,139,47,93,32,10,174,74,6,222,25,187,30,61,62,64,28,251,78,129,210,113,203,84,84,209,94,175,194,11,231,90,122,109,101,89,253,225,119,118,202,201,230,192,28,207,23,220,206,109,147,53,59,243,236,34,42,185, -51,163,35,34,60,153,180,165,118,54,29,237,187,193,193,190,156,12,102,58,88,130,201,205,117,101,183,79,218,46,156,56,18,230,188,206,236,8,205,32,104,68,33,1,0,206,44,120,85,137,99,105,42,193,102,148,76,151,49,79,36,92,45,121,32,18,6,220,20,88,143,203, -160,34,234,195,234,47,183,29,96,200,2,62,36,231,109,238,149,67,218,94,242,76,150,181,174,208,216,113,144,35,92,179,172,103,162,64,35,92,152,153,25,195,228,102,145,31,75,27,143,11,232,98,202,93,21,109,50,227,196,252,82,168,236,64,164,80,235,244,227,7, -211,37,133,218,2,101,56,172,109,185,59,219,243,101,127,106,9,239,179,80,222,70,174,53,185,127,214,206,44,110,232,47,111,41,183,176,48,148,212,28,195,25,252,181,76,155,94,184,114,161,74,163,78,10,4,222,255,248,64,62,86,222,80,76,178,62,172,230,146,2,170, -181,43,135,117,199,36,48,54,182,193,74,117,253,136,249,159,252,245,57,241,141,108,226,98,43,17,231,27,159,93,65,24,84,211,250,193,14,146,240,212,92,228,230,19,132,66,163,204,179,85,236,89,140,243,150,142,230,148,78,245,80,182,130,61,216,99,191,11,192, -21,71,191,114,138,89,52,217,9,26,26,51,24,203,110,84,177,201,14,23,40,203,58,33,29,157,64,251,216,55,84,11,253,132,150,88,197,111,249,61,172,191,10,234,9,171,41,164,191,40,81,210,179,110,57,190,61,105,251,231,16,24,9,218,29,130,72,193,106,27,15,7,54, -106,166,28,84,11,13,133,230,238,129,148,168,43,41,144,103,156,154,131,124,32,77,200,129,161,25,22,172,46,61,1,17,180,218,246,49,44,232,125,172,83,161,11,59,11,238,160,113,75,54,112,224,231,112,19,7,254,237,108,250,109,69,191,12,78,248,185,231,86,185, -241,242,161,15,101,220,90,213,15,79,66,155,163,254,246,29,199,7,218,102,148,135,116,112,250,54,75,230,164,57,152,218,169,141,53,105,186,93,191,244,80,243,159,95,62,79,186,11,95,82,149,113,118,43,216,64,128,176,204,137,228,75,200,14,109,22,150,19,198, -134,28,150,129,223,60,189,135,16,62,179,42,235,195,171,29,155,51,83,76,234,68,206,244,223,236,105,245,72,75,141,59,3,199,184,119,4,92,67,116,89,111,196,250,160,24,201,34,96,124,152,212,106,0,89,67,61,224,120,175,156,3,191,198,26,169,65,147,64,172,172, -67,99,149,205,72,70,75,69,135,229,251,156,58,26,214,98,23,165,177,46,213,72,58,225,232,164,243,128,93,112,74,79,205,37,16,32,204,64,196,38,0,58,206,164,76,235,44,126,231,132,255,196,113,91,7,182,196,142,238,219,114,102,138,51,166,234,28,160,162,40,84, -164,152,108,255,254,62,44,82,199,53,70,205,114,152,128,235,5,43,115,12,12,244,43,123,165,229,224,23,41,184,94,186,163,102,95,134,80,63,5,161,238,42,119,245,119,175,203,200,37,37,66,85,66,244,175,94,83,110,123,178,117,55,112,235,11,254,244,30,10,178,138, -115,222,83,94,31,216,20,87,194,117,210,213,40,102,249,146,240,148,76,196,179,68,245,69,105,233,99,8,164,202,206,130,114,231,22,21,64,194,64,246,140,97,135,30,95,79,228,55,121,47,246,215,34,151,83,114,43,146,122,60,237,216,77,192,169,218,233,200,185,233, -147,13,191,250,1,170,200,84,49,111,153,142,96,153,113,158,219,240,101,140,17,181,77,36,180,8,155,114,178,193,201,14,202,62,19,131,36,10,96,190,197,76,134,145,152,74,78,243,38,224,33,29,84,166,22,116,194,8,87,249,134,120,30,30,67,122,177,96,12,138,59, -243,33,196,60,198,251,38,53,208,137,184,77,243,202,247,173,147,112,72,173,229,166,193,200,153,202,66,19,215,129,53,195,44,13,191,66,247,118,199,166,112,51,41,231,12,207,250,22,72,178,74,209,108,41,53,216,211,79,88,71,127,58,3,19,204,221,227,94,250,103, -202,178,61,149,243,135,121,78,206,81,168,68,192,204,222,48,250,120,161,18,42,180,149,51,65,142,186,195,247,243,175,242,184,250,144,199,97,74,143,133,182,23,171,109,165,165,215,231,97,24,196,199,23,22,86,165,35,76,182,35,5,51,181,123,194,251,93,38,230, -247,193,135,62,5,234,140,19,61,153,164,39,183,60,217,9,132,241,46,39,150,115,51,166,237,157,158,111,127,200,253,22,38,236,48,144,141,133,73,254,22,236,84,243,75,150,67,38,101,177,12,135,138,225,18,213,130,197,234,12,145,162,60,117,156,87,200,82,7,254, -13,195,49,114,188,137,152,216,201,80,143,94,206,38,110,37,197,102,52,247,212,170,58,22,14,59,6,201,22,179,238,183,89,17,248,123,187,61,233,116,96,149,109,25,212,75,213,61,80,217,28,124,238,8,2,29,146,77,154,130,223,244,59,75,18,87,52,170,218,235,62,76, -241,99,21,72,58,41,37,188,213,166,102,192,37,52,193,28,83,187,60,95,69,26,151,189,64,15,19,56,111,219,9,235,251,9,149,71,160,62,228,193,226,54,36,124,204,242,231,183,245,246,246,138,218,222,190,98,230,215,55,244,154,94,113,171,248,2,219,47,158,214,219, -199,111,233,86,107,71,183,182,22,221,233,227,243,238,229,253,187,68,163,142,13,170,237,182,230,232,79,54,52,43,248,35,53,131,244,206,160,175,213,0,103,113,122,10,238,12,235,102,111,212,81,249,254,72,138,180,147,132,150,180,229,106,181,76,135,83,60,157, -136,250,77,29,185,74,72,106,232,179,241,81,129,196,66,35,87,81,45,116,41,98,26,128,90,246,6,41,250,65,141,108,248,160,143,112,132,215,155,88,149,105,225,198,253,128,91,129,2,237,2,185,194,28,52,17,135,114,236,71,28,64,120,200,0,196,224,137,18,114,212, -131,18,225,20,99,88,39,219,128,78,181,35,144,248,72,146,207,55,129,194,67,36,238,186,160,53,27,229,193,40,118,205,102,2,115,157,56,88,17,71,128,88,48,192,70,224,196,93,56,10,36,205,129,193,28,219,34,51,152,229,252,196,172,27,253,52,40,196,206,188,122, -189,133,133,213,90,84,55,250,167,221,10,119,36,67,24,115,233,26,40,219,35,102,119,117,245,131,107,234,15,33,88,167,87,241,73,95,250,210,151,36,150,229,223,249,237,207,235,47,33,155,127,237,218,37,189,190,189,141,199,127,85,157,122,125,81,49,119,123,123, -29,137,226,165,103,85,111,180,173,119,58,90,5,35,152,231,207,62,169,166,92,91,141,0,156,6,56,127,41,253,30,178,237,7,33,183,233,5,227,4,253,169,1,28,197,8,57,198,56,105,108,3,233,197,35,110,228,170,144,231,84,249,38,39,138,227,140,231,13,151,128,247, -139,226,129,26,179,105,181,172,115,47,19,58,11,215,226,136,1,64,89,182,143,192,86,184,160,1,205,219,31,128,255,77,108,29,26,24,104,41,86,119,181,216,111,199,67,234,79,215,113,157,179,12,235,153,29,176,7,9,120,107,38,102,70,106,36,147,231,220,128,141, -53,77,228,78,247,45,204,131,59,121,188,237,250,61,214,79,239,178,114,205,206,115,19,68,102,245,240,59,64,35,178,15,71,189,9,235,116,26,9,146,128,46,169,115,198,253,2,132,186,69,254,247,11,74,45,254,186,146,209,8,176,118,18,151,206,207,43,253,165,109, -57,205,52,201,250,243,191,35,66,117,31,86,168,242,92,245,3,30,23,47,94,52,135,125,62,19,128,86,109,69,74,147,76,20,247,252,243,103,196,44,115,136,53,59,176,39,219,167,113,123,82,142,65,231,196,236,147,143,223,49,119,192,45,179,11,191,172,98,94,130,140, -100,58,10,56,210,143,102,249,46,180,37,108,4,135,139,144,9,251,8,102,90,250,92,248,79,171,169,226,57,141,56,24,231,248,110,223,219,73,153,12,219,80,161,12,234,240,251,20,200,12,165,216,255,229,163,137,20,107,179,183,162,95,189,179,191,206,226,50,14,248, -32,229,105,14,172,205,105,102,231,90,142,108,153,238,192,207,2,217,167,194,247,58,183,71,147,251,148,199,12,52,187,210,142,177,200,46,201,5,123,251,214,45,153,49,44,9,115,229,83,113,63,245,244,89,25,197,47,155,34,41,159,45,91,243,189,170,130,120,39,123, -246,122,183,230,141,177,47,8,255,224,66,229,241,161,53,118,114,124,245,171,95,149,191,76,196,175,174,126,85,186,244,192,31,3,197,173,112,187,105,36,13,86,212,235,175,191,162,90,173,68,111,169,45,117,78,159,119,127,88,124,79,133,39,140,154,126,98,222, -149,175,76,187,109,72,112,62,57,48,119,110,23,140,109,85,45,145,89,19,42,175,5,102,120,31,38,13,34,33,93,119,239,14,211,36,136,127,225,254,130,7,0,51,219,82,100,164,187,48,215,41,205,107,43,65,176,209,211,195,3,72,192,52,221,112,8,173,198,253,233,56, -118,163,160,71,226,30,132,109,195,245,65,0,142,11,233,38,119,73,131,218,5,31,138,88,165,221,140,96,41,34,167,99,166,211,35,59,24,140,132,41,42,70,145,173,185,216,13,161,141,92,30,101,183,131,239,153,56,189,11,227,208,236,112,8,118,73,116,166,33,212,233, -71,181,222,27,129,236,236,112,46,195,35,54,131,107,57,190,184,167,255,226,207,51,87,215,35,142,190,113,211,72,176,47,130,119,125,243,27,126,170,218,241,227,94,75,39,9,22,178,75,32,32,44,140,160,28,23,47,174,186,175,126,117,117,114,158,213,135,57,126, -96,141,229,81,181,77,28,214,71,225,75,225,219,92,82,108,42,89,7,226,134,207,229,150,211,135,200,155,149,23,157,206,121,25,99,51,1,86,188,127,50,241,77,38,171,222,58,173,56,207,8,249,2,189,5,96,197,221,73,210,230,188,126,163,135,228,3,174,115,115,68,238, -163,199,189,8,198,131,93,206,48,214,163,177,7,94,41,72,15,154,247,36,157,214,113,218,213,140,73,219,162,209,28,142,205,57,15,109,197,22,69,38,34,14,240,31,167,182,178,115,60,29,181,132,44,97,3,55,143,125,185,142,247,27,78,154,206,166,92,88,204,0,217, -63,96,133,173,28,108,191,96,83,26,105,193,73,41,139,60,0,203,19,158,92,170,226,207,155,234,107,191,159,57,224,163,67,144,196,105,178,175,44,92,215,191,117,238,188,83,171,170,36,31,176,177,242,208,220,78,64,232,164,250,112,178,229,235,135,213,216,31,74, -176,147,227,33,159,236,143,75,213,236,178,229,53,229,227,93,32,229,27,55,86,29,169,199,231,88,191,94,29,175,44,40,125,253,11,215,213,226,153,243,48,209,55,165,16,125,178,211,229,109,160,231,133,69,191,183,27,203,48,39,59,70,49,108,160,112,135,93,248, -199,22,16,50,51,71,48,215,29,25,147,211,81,35,196,72,28,142,61,74,15,180,222,109,217,36,219,151,173,78,246,56,105,76,77,171,228,228,129,30,223,181,142,155,41,140,129,138,166,167,253,164,135,238,171,96,141,150,252,251,140,250,16,118,99,79,215,241,94,172, -110,224,227,205,83,199,156,186,207,158,224,123,142,37,64,159,56,34,80,238,147,64,22,137,207,99,251,11,127,11,211,110,204,120,177,145,141,169,77,198,169,175,93,61,111,73,17,50,60,164,240,46,168,135,200,151,71,181,49,210,132,132,80,74,169,15,37,204,163, -199,135,138,99,63,232,113,193,85,254,97,205,151,111,76,182,158,134,105,17,254,147,43,86,246,140,193,177,216,2,204,95,33,251,114,86,118,9,225,193,253,101,118,222,232,151,91,192,153,143,45,46,88,158,188,96,148,219,143,61,113,66,42,248,134,97,94,194,132, -137,214,156,156,67,46,160,91,148,35,196,196,20,4,95,31,76,91,59,238,35,195,62,93,90,178,62,81,217,182,76,106,103,230,94,217,78,155,229,35,39,0,221,194,172,156,71,120,27,237,88,123,31,233,52,198,157,123,172,18,236,20,229,60,139,202,194,86,185,123,107, -92,48,87,218,60,229,220,246,245,45,59,78,16,225,84,37,64,76,136,199,248,110,244,159,119,145,24,239,238,40,199,203,108,207,11,85,126,200,246,125,252,93,182,156,23,209,61,215,117,28,245,78,161,78,206,211,164,94,91,102,250,95,196,237,203,202,30,33,247,127, -96,161,242,248,72,52,118,114,76,70,246,189,240,194,149,128,153,126,17,238,197,11,178,171,165,108,163,134,36,241,5,191,39,173,234,60,127,221,176,240,153,175,155,236,116,249,232,120,202,252,235,127,118,214,2,45,234,77,36,238,159,71,26,240,238,55,110,74, -117,6,133,77,192,149,169,68,118,180,144,215,41,223,98,200,235,199,42,224,69,141,86,236,182,255,46,98,202,234,58,77,56,146,225,242,188,238,224,173,179,245,217,74,177,125,223,95,7,54,80,61,102,93,148,116,136,138,70,202,3,176,28,253,125,255,57,212,206,187, -85,133,3,167,184,223,172,222,103,247,238,134,52,36,115,18,123,50,102,97,183,223,27,251,234,85,210,130,87,0,144,214,216,72,46,212,171,20,164,85,241,63,181,20,119,87,61,127,31,14,249,190,223,241,87,161,177,218,111,10,79,94,249,194,225,186,67,78,126,178, -245,180,220,227,133,186,42,197,113,231,182,206,59,142,65,255,227,221,179,229,226,175,111,104,14,167,58,127,228,13,125,226,217,191,46,22,45,246,154,44,233,65,158,233,165,37,17,66,112,140,101,37,133,29,80,136,39,72,92,20,118,190,61,95,82,168,67,48,12,211, -72,102,243,62,150,160,204,39,243,37,181,95,237,227,111,215,223,110,35,104,162,80,137,108,31,32,121,193,69,195,177,12,47,125,99,161,60,184,179,84,122,237,36,139,118,83,157,132,32,255,24,23,230,78,119,191,163,202,133,231,151,221,43,176,62,20,170,215,208, -117,119,245,234,21,75,161,17,244,110,108,92,114,60,47,116,77,212,84,225,218,47,92,146,173,210,201,13,124,228,66,80,31,241,113,184,163,165,159,197,109,160,189,66,94,179,156,102,226,63,228,71,41,214,200,74,239,137,90,95,95,247,53,84,114,172,30,190,215, -194,166,210,204,120,244,85,221,252,225,239,238,148,212,6,234,201,68,200,143,173,220,146,247,225,140,199,103,0,188,182,153,112,184,195,124,176,15,47,188,150,43,77,19,89,132,119,12,169,60,94,231,125,242,1,8,71,78,224,57,47,227,49,217,85,153,172,208,83, -169,217,248,86,225,118,106,133,99,126,84,198,200,190,122,244,23,122,29,37,30,120,110,101,217,178,176,111,251,69,143,114,177,32,53,139,186,233,122,164,156,5,241,140,76,106,87,222,151,226,169,230,26,80,239,242,101,225,128,223,158,56,255,200,180,149,199, -71,174,177,213,151,147,233,130,132,232,236,4,35,82,231,202,156,32,118,233,148,175,144,32,239,219,222,222,246,60,243,69,110,231,181,46,1,59,47,51,157,43,182,179,176,236,254,112,115,167,60,255,91,136,59,17,3,178,192,107,115,230,186,83,219,202,54,20,82, -103,155,167,75,206,101,104,225,47,181,105,73,29,148,220,31,72,114,194,18,43,223,148,207,9,69,211,110,85,241,51,62,27,66,229,115,238,225,246,210,157,131,242,211,172,51,186,191,111,55,112,125,246,153,194,253,202,175,156,21,173,36,73,159,60,173,44,181,146, -19,71,95,130,70,202,56,158,149,251,22,168,95,173,86,25,152,229,229,43,238,220,57,126,111,210,130,107,50,117,71,90,27,47,120,179,75,11,198,20,28,221,82,37,84,30,78,85,163,242,62,74,161,138,28,212,95,221,161,39,112,221,183,220,248,59,57,176,100,210,162, -176,60,217,99,124,210,191,171,170,58,141,11,190,203,143,87,55,54,214,15,119,155,166,249,246,215,207,203,76,12,142,79,248,181,133,183,254,6,191,83,227,245,195,113,247,147,131,104,251,165,175,239,91,78,92,161,47,228,95,249,14,43,28,217,235,91,67,169,129, -156,142,67,2,129,143,17,181,147,152,167,49,161,54,146,100,153,52,69,201,215,188,176,202,223,35,181,95,210,253,38,153,152,117,16,55,50,96,84,246,183,39,174,224,100,23,142,199,195,253,71,5,170,14,103,227,170,143,86,91,229,253,212,95,211,113,52,229,119, -244,126,191,207,15,171,218,17,36,93,186,112,120,255,68,232,28,173,75,13,120,184,83,188,167,105,184,209,193,115,188,82,153,66,63,221,102,93,209,148,19,121,19,156,113,1,108,125,113,221,177,8,128,36,59,183,13,219,250,98,87,110,179,69,165,83,109,254,199, -131,241,229,106,53,72,133,199,252,6,219,89,30,150,80,123,79,177,238,191,27,71,253,34,92,121,238,185,117,3,122,213,202,246,24,23,149,44,72,186,158,53,95,91,175,94,184,252,66,233,170,200,229,162,187,164,47,168,11,246,253,82,109,31,229,241,215,38,88,30, -147,64,155,113,239,145,197,42,135,207,16,249,9,99,87,174,176,149,196,247,126,250,132,190,220,171,56,94,174,138,141,137,38,197,143,145,185,225,89,95,157,236,59,195,114,157,195,119,245,215,230,231,215,228,125,145,176,112,220,115,158,73,236,86,235,186,254, -242,151,187,146,208,6,26,150,13,0,231,63,47,211,186,237,100,71,100,89,92,248,30,236,26,191,60,97,135,38,45,165,4,65,36,19,160,165,55,94,240,143,107,128,160,139,30,32,170,11,23,14,23,233,91,52,145,12,29,232,88,171,254,138,143,191,146,56,246,189,142,195, -166,92,169,174,123,171,95,145,249,141,48,209,27,27,27,142,254,248,70,181,253,26,125,49,181,99,237,133,53,241,79,190,41,73,149,43,213,253,32,201,203,85,229,133,193,19,253,2,17,11,46,243,243,235,208,156,53,241,119,215,174,173,123,225,201,177,106,41,188, -127,250,79,207,91,154,70,10,91,214,205,218,21,17,252,197,11,19,215,112,73,62,155,87,87,170,240,68,201,140,73,95,49,200,251,233,43,15,113,255,5,169,202,159,8,181,26,120,161,15,199,7,76,46,127,29,66,253,127,204,33,179,69,156,108,206,106,170,235,154,245, -204,71,238,63,122,123,114,93,46,107,107,151,131,201,237,203,151,253,245,203,151,93,0,153,6,126,134,6,46,234,225,125,188,48,153,51,121,156,239,55,121,143,201,109,38,56,220,197,135,159,203,247,61,250,221,142,126,143,163,223,235,232,115,38,191,75,253,232, -248,224,135,63,121,213,228,8,117,209,136,32,14,133,224,2,255,248,195,251,222,190,40,46,30,17,154,23,170,127,46,5,206,235,254,242,78,65,170,31,29,127,117,199,81,109,56,114,194,143,104,140,82,15,47,111,21,226,81,43,112,244,246,219,223,239,221,4,250,255, -54,193,254,127,98,21,30,61,233,250,97,67,139,59,250,216,36,75,242,246,215,190,219,253,71,239,251,168,195,144,31,29,63,58,126,116,252,232,248,209,241,255,155,227,255,6,74,236,217,76,222,25,217,71,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,48,0,0,0,48,8,6,0,0,0,87,2,249,135,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,3,156,73,68,65,84,120, +1,237,89,93,82,219,48,16,222,53,237,12,240,196,17,220,19,52,61,65,19,56,0,112,2,194,9,136,31,160,157,190,36,60,181,192,12,78,79,64,114,130,166,7,40,78,79,80,122,2,210,27,240,4,83,40,222,238,38,14,99,201,88,150,113,148,78,135,124,51,144,72,145,246,71, +187,90,237,74,0,11,44,240,188,129,224,8,7,167,209,14,32,117,249,235,213,146,183,212,249,184,247,182,15,14,224,129,43,32,117,248,255,26,255,249,247,241,125,23,28,193,157,2,44,120,234,251,26,56,130,75,5,230,130,133,2,255,26,255,189,2,47,160,36,58,97,180, +118,13,113,147,56,60,158,4,27,61,168,136,170,244,74,89,224,125,24,249,215,64,17,199,200,16,1,207,222,133,231,17,84,4,11,127,54,165,119,16,158,95,10,143,50,243,173,21,16,194,241,88,120,168,77,251,120,213,234,80,25,184,149,106,140,121,148,81,194,74,1,49, +115,34,188,175,176,70,26,64,69,112,42,48,212,186,68,137,47,194,211,98,186,157,2,215,0,109,208,132,103,244,87,200,219,133,138,248,13,184,205,182,212,23,162,118,51,225,89,136,194,92,104,63,252,214,20,255,84,103,225,224,184,213,216,54,205,99,127,166,116, +251,56,88,55,242,58,56,61,239,177,52,59,233,62,15,176,241,41,104,12,77,243,10,45,192,194,183,213,54,140,86,9,42,175,188,142,91,196,150,208,78,247,177,43,157,21,205,51,42,32,171,15,186,223,243,170,116,130,198,21,204,24,93,166,25,143,221,73,129,159,200, +144,11,207,252,35,42,38,69,196,30,155,116,4,142,112,18,52,46,248,163,111,146,65,71,174,2,18,202,244,48,137,4,135,224,24,44,112,39,221,22,25,76,97,53,87,129,123,136,235,233,54,34,12,93,174,254,20,194,67,15,173,49,196,91,121,227,115,21,64,240,54,211,109, +34,250,10,115,2,129,202,11,209,123,157,55,214,176,7,200,87,7,122,23,48,39,16,120,67,165,77,84,207,27,107,218,196,126,186,177,12,80,86,129,135,72,165,135,199,34,220,101,199,231,158,202,38,5,148,73,101,67,39,111,198,32,17,156,195,35,149,218,252,221,44, +175,92,5,74,167,211,182,224,205,216,227,143,30,56,134,201,2,202,42,216,38,87,179,64,43,203,43,215,250,214,10,220,102,147,57,103,88,78,165,236,2,211,30,50,41,240,61,221,248,163,157,11,46,193,113,191,166,117,253,202,27,107,10,163,74,212,225,28,104,19,230, +4,157,23,183,115,235,14,47,255,7,79,153,84,116,164,207,10,143,165,48,144,45,122,30,144,171,192,99,71,58,89,22,25,85,160,243,40,74,97,140,217,40,155,174,175,18,167,230,135,48,170,129,35,76,86,159,154,233,62,36,52,94,10,23,86,100,124,243,112,73,106,4,26, +173,2,190,153,117,77,48,185,94,161,31,144,226,37,209,231,40,88,127,101,154,103,83,145,233,213,151,127,3,113,8,51,6,215,221,82,125,249,26,239,194,19,220,234,125,128,171,162,46,19,219,83,39,210,96,5,188,221,170,150,144,149,231,2,62,204,184,14,208,231,163, +96,163,85,52,223,234,86,226,14,188,14,104,201,28,241,125,142,152,188,74,100,218,231,253,36,52,178,194,195,104,101,194,179,16,214,47,52,201,6,139,232,145,19,153,173,211,99,66,135,182,5,79,18,42,219,186,224,19,90,48,194,201,109,196,200,134,86,169,39,38, +147,18,9,177,161,20,35,82,59,72,250,61,117,47,113,19,73,69,228,52,151,67,202,112,163,119,193,89,236,118,153,202,175,244,27,153,36,90,47,33,238,232,123,162,42,196,231,197,109,202,238,169,39,63,242,177,53,248,70,153,218,84,49,201,75,92,102,183,232,2,203, +48,191,26,198,138,32,237,16,149,187,232,149,19,86,14,169,164,110,120,50,102,246,204,154,68,163,122,140,49,39,98,232,115,152,146,246,52,175,191,98,129,217,53,104,72,228,253,228,208,55,152,199,13,199,2,11,60,7,252,5,44,12,88,217,194,225,230,101,0,0,0,0, +73,69,78,68,174,66,96,130,0,0 }; -const char* Logo_png = (const char*) temp_binary_data_4; +const char* enabledoff_png = (const char*) temp_binary_data_4; } diff --git a/LatestCompiledAssets/BinaryData6.cpp b/LatestCompiledAssets/BinaryData6.cpp index 53634a3..a23f500 100644 --- a/LatestCompiledAssets/BinaryData6.cpp +++ b/LatestCompiledAssets/BinaryData6.cpp @@ -9,21 +9,22 @@ namespace InspectorBinaryData { -//================== Search.png ================== +//================== enabled-on.png ================== static const unsigned char temp_binary_data_5[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,36,0,0,0,36,8,6,0,0,0,225,0,152,152,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,3,66,73,68,65,84,120, -1,205,87,189,114,211,64,16,222,147,9,147,210,37,165,58,38,52,142,171,76,42,204,19,196,36,48,67,103,249,9,172,60,1,118,69,25,65,69,135,66,197,12,144,132,39,64,233,76,21,49,195,144,86,188,129,41,97,198,94,118,207,146,238,172,72,103,89,86,112,190,153,76, -116,231,211,233,187,111,127,110,87,192,10,112,186,110,19,182,192,134,41,236,210,208,78,127,16,16,130,5,145,255,209,11,97,77,136,50,139,156,103,110,7,17,95,2,74,34,77,195,210,136,118,12,196,150,24,249,31,188,8,234,38,164,17,233,192,234,59,251,85,136,21, -18,234,29,14,78,232,159,123,243,5,65,42,96,0,40,126,201,9,36,197,44,108,97,190,122,17,173,31,249,103,158,15,85,9,177,159,96,3,207,51,170,76,104,227,215,112,31,124,211,137,89,81,242,47,7,5,246,244,121,4,28,190,63,123,51,130,42,132,122,71,131,171,216,87, -230,11,4,92,192,84,244,253,11,111,2,37,225,60,119,119,113,74,135,210,28,159,14,116,76,74,121,203,222,93,32,148,53,83,44,247,16,42,128,148,182,99,165,213,225,44,241,196,255,228,5,80,134,144,115,228,118,201,129,207,235,32,163,145,98,243,127,213,72,69,98, -38,218,38,181,173,228,129,200,156,164,100,40,66,214,37,195,224,15,139,169,120,74,143,9,1,155,190,232,154,222,145,132,88,29,80,246,142,128,194,21,106,2,145,226,72,59,78,198,228,224,3,153,96,77,132,144,220,39,153,32,117,130,170,73,173,144,212,60,236,163, -120,72,105,2,186,96,34,68,246,82,11,106,84,71,7,169,116,170,6,248,184,104,157,37,115,135,122,43,172,91,157,20,13,74,31,49,208,144,249,45,152,105,185,98,22,103,223,91,64,124,241,166,206,93,228,71,108,50,59,29,241,173,125,187,80,225,190,13,133,132,238, -20,152,144,98,141,198,210,226,191,96,145,144,110,190,154,17,251,140,157,140,139,130,135,157,58,72,6,104,8,199,181,113,79,221,105,38,95,181,56,147,130,82,169,185,144,6,106,4,206,180,228,11,6,66,114,1,170,164,37,43,196,154,193,55,63,237,172,146,175,208, -146,100,30,33,146,211,79,103,40,105,213,173,18,90,56,0,85,77,70,166,18,68,18,146,73,75,104,153,116,134,239,76,23,224,42,136,15,183,80,99,153,214,167,121,136,202,4,190,145,211,76,202,117,204,186,164,100,145,70,135,75,191,49,47,107,124,40,67,40,91,38,112, -81,37,73,189,96,251,87,32,195,29,139,133,87,160,66,125,82,230,226,110,232,131,240,122,28,182,119,246,185,138,236,196,83,15,168,104,239,210,220,111,254,13,74,128,85,109,61,218,123,69,7,122,11,124,65,40,108,83,157,61,249,126,253,237,210,244,126,110,27, -228,28,186,67,42,164,178,209,22,201,206,163,65,245,82,166,67,149,166,165,60,67,161,125,64,210,58,176,216,14,77,244,241,178,14,164,176,47,147,146,207,237,111,23,44,137,180,231,220,53,66,136,128,90,239,62,252,165,214,72,59,160,137,84,3,10,16,254,28,71, -237,135,251,167,180,233,159,248,131,89,7,111,106,127,55,136,80,135,209,247,63,123,163,240,199,120,66,230,14,116,87,32,165,59,173,157,61,200,51,95,169,222,158,65,102,116,40,131,30,196,29,170,157,67,34,164,107,232,146,11,177,162,60,147,117,133,60,165,74, -19,90,216,152,125,70,171,103,86,169,50,151,145,170,68,104,93,152,72,53,96,3,48,249,212,70,20,74,144,85,138,136,245,55,162,80,130,28,165,190,192,93,0,71,176,140,98,194,63,250,252,124,184,174,6,177,51,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,48,0,0,0,48,8,6,0,0,0,87,2,249,135,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,3,142,73,68,65,84,120, +1,237,89,93,78,27,49,16,30,111,18,82,169,47,188,210,22,105,57,65,211,27,132,19,0,39,32,156,160,32,181,145,250,212,240,84,41,84,10,61,65,194,9,10,39,32,61,1,233,9,216,170,252,188,230,9,149,238,174,167,99,167,64,236,196,94,155,205,166,170,200,247,16,101, +189,182,103,198,51,59,127,6,88,96,129,167,13,6,5,1,175,63,111,3,199,67,250,55,132,32,104,177,149,119,71,80,0,2,40,10,200,91,244,179,76,255,66,224,252,16,10,66,129,2,16,227,15,88,134,130,80,156,0,115,194,66,128,127,141,255,94,128,50,120,2,207,59,203,80, +77,26,228,34,135,236,85,179,7,57,145,119,63,47,13,224,117,39,132,165,248,20,16,59,20,65,186,120,117,112,10,121,81,141,187,247,251,93,182,207,37,13,15,56,11,32,55,198,88,48,92,123,24,196,58,228,5,194,230,216,19,197,140,248,212,71,8,39,1,164,154,5,243, +170,111,23,113,252,24,242,130,177,190,54,34,132,248,42,105,58,192,77,3,213,228,227,4,243,200,142,224,246,102,7,242,226,182,188,53,229,32,106,146,166,3,50,115,33,188,104,55,132,125,106,171,142,217,139,230,150,117,221,101,27,149,37,47,155,204,78,231,160, +7,12,183,149,65,206,214,217,234,251,190,109,93,182,6,2,208,79,34,154,201,201,235,136,203,187,116,48,145,74,27,187,89,203,172,2,200,211,215,77,39,72,215,217,90,107,8,51,6,91,219,27,2,7,93,171,161,228,193,2,187,6,2,182,173,141,244,216,202,135,8,10,2,197, +129,1,121,182,163,12,30,212,215,166,23,35,183,169,185,201,32,221,135,162,81,18,105,248,56,35,88,199,235,79,161,105,186,89,3,105,92,87,158,201,221,21,121,250,247,100,4,13,221,181,98,176,105,154,111,22,128,193,134,58,192,79,96,126,80,105,33,123,109,154, +104,22,0,89,168,60,167,193,0,230,5,142,125,109,164,110,154,106,211,64,168,60,39,101,79,1,216,184,167,138,192,7,113,37,210,70,140,81,217,226,133,80,89,36,221,156,15,16,247,70,126,157,4,65,240,250,248,167,208,50,10,224,157,78,59,51,49,74,141,123,80,48, +44,26,80,76,0,92,147,171,89,96,10,45,163,246,45,223,0,170,139,158,199,33,204,11,207,146,154,58,192,34,211,84,179,0,28,191,41,207,201,12,114,127,87,32,104,2,224,15,211,84,179,0,129,238,54,131,13,152,31,84,90,104,174,59,44,38,148,168,139,100,72,247,43, +247,30,131,169,41,76,41,237,155,230,27,5,152,26,210,121,234,84,100,228,130,78,35,35,133,177,103,163,92,203,12,129,55,40,189,173,65,65,24,105,152,55,192,202,131,138,236,138,236,170,125,174,213,4,17,252,174,188,241,14,108,89,116,100,123,37,62,211,105,81, +37,183,102,91,151,93,145,165,76,175,190,168,181,146,118,96,214,168,166,221,201,186,59,59,130,59,221,15,224,207,246,33,137,250,86,91,121,12,183,149,157,188,154,144,39,47,15,68,55,29,248,194,86,155,187,89,235,221,186,18,73,165,69,28,171,110,85,244,115, +150,226,179,60,158,9,47,58,53,105,54,58,243,194,76,147,155,150,203,30,206,55,52,178,42,194,210,100,111,72,34,232,65,80,218,103,43,123,145,219,94,36,180,244,54,19,140,11,68,178,238,118,44,158,188,174,152,236,66,192,93,147,234,132,118,29,192,175,242,224, +206,188,164,153,136,84,36,97,117,16,65,202,220,209,27,16,243,91,62,149,159,247,29,153,100,166,28,183,38,190,137,188,32,155,23,102,227,219,241,120,244,37,159,108,119,136,158,145,73,27,238,136,168,129,181,147,213,192,50,33,247,45,229,72,16,106,125,248, +54,122,133,185,81,144,202,219,162,159,217,53,171,252,62,210,82,157,180,178,241,183,158,14,31,170,58,170,45,68,122,142,208,39,198,191,139,60,107,30,29,142,5,22,120,10,248,3,143,192,122,241,235,203,106,176,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* Search_png = (const char*) temp_binary_data_5; +const char* enabledon_png = (const char*) temp_binary_data_5; } diff --git a/LatestCompiledAssets/BinaryData7.cpp b/LatestCompiledAssets/BinaryData7.cpp new file mode 100644 index 0000000..fd8606b --- /dev/null +++ b/LatestCompiledAssets/BinaryData7.cpp @@ -0,0 +1,20 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== expand-off.png ================== +static const unsigned char temp_binary_data_6[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,0,194,73,68,65,84, +120,1,237,151,205,13,2,33,16,133,223,24,11,217,86,208,6,140,13,88,130,225,98,44,193,112,217,181,4,27,176,4,183,20,183,146,69,56,144,16,163,146,101,198,184,137,243,157,128,129,188,199,223,4,104,183,221,123,4,46,215,51,33,35,181,39,190,21,95,64,81,126, +12,189,187,5,83,57,180,55,255,41,238,236,106,158,183,96,9,33,242,25,30,219,190,25,225,251,80,108,74,227,196,87,32,23,15,142,134,82,127,214,190,151,196,9,100,66,253,30,99,207,103,32,33,182,2,175,196,79,214,12,165,113,34,6,106,197,69,12,112,196,35,172, +60,192,17,23,201,3,35,176,65,229,204,19,44,3,206,154,14,240,182,86,60,194,78,68,206,174,59,40,10,3,177,247,192,84,102,243,30,80,3,138,66,127,255,59,126,0,137,131,124,120,219,151,63,87,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* expandoff_png = (const char*) temp_binary_data_6; +} diff --git a/LatestCompiledAssets/BinaryData8.cpp b/LatestCompiledAssets/BinaryData8.cpp new file mode 100644 index 0000000..49248ce --- /dev/null +++ b/LatestCompiledAssets/BinaryData8.cpp @@ -0,0 +1,20 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== expand-on.png ================== +static const unsigned char temp_binary_data_7[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,32,0,0,0,32,8,6,0,0,0,115,122,122,244,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,0,196,73,68,65,84, +120,1,237,151,209,9,131,48,16,64,239,196,65,92,197,118,131,46,208,17,36,63,109,71,40,126,212,118,132,46,80,58,65,179,138,147,52,77,62,14,36,24,105,76,14,5,239,129,32,158,248,238,148,59,19,60,30,26,3,150,231,235,129,48,128,174,19,92,241,2,4,129,153,75, +167,171,243,77,55,161,56,134,186,32,151,252,11,70,219,211,10,192,168,86,237,239,20,35,111,9,76,12,229,182,178,30,161,120,143,221,151,220,134,167,238,99,220,49,45,199,250,170,234,30,56,18,240,137,145,59,202,156,223,62,70,78,222,108,111,32,182,114,34,91, +2,115,228,89,19,152,35,119,36,207,1,191,3,124,90,181,27,125,238,106,254,134,201,131,40,84,225,191,200,122,64,88,28,214,245,192,20,171,153,3,146,128,32,224,230,119,199,63,81,194,129,48,227,106,116,154,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* expandon_png = (const char*) temp_binary_data_7; +} diff --git a/LatestCompiledAssets/BinaryData9.cpp b/LatestCompiledAssets/BinaryData9.cpp new file mode 100644 index 0000000..7e31ee4 --- /dev/null +++ b/LatestCompiledAssets/BinaryData9.cpp @@ -0,0 +1,26 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#include + +namespace InspectorBinaryData +{ + +//================== eyedropper-off.png ================== +static const unsigned char temp_binary_data_8[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,37,0,0,0,36,8,6,0,0,0,14,194,243,166,0,0,0,9,112,72,89,115,0,0,22,37,0,0,22,37,1,73,82,36,240,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,0,4,103,65,77,65,0,0,177,143,11,252,97,5,0,0,2,54,73,68,65,84, +120,1,205,152,61,86,194,64,16,199,103,2,246,28,33,150,118,90,218,233,9,196,175,247,172,52,94,64,227,9,132,27,196,19,184,116,22,42,120,2,177,179,147,206,22,111,144,218,247,200,56,179,11,24,48,72,194,38,36,255,247,120,201,110,54,187,63,118,103,103,38,139, +176,38,121,39,254,30,17,93,0,193,30,23,93,254,133,128,48,64,194,142,122,14,84,188,45,194,26,116,126,116,117,139,128,173,133,13,16,20,142,240,70,245,130,80,138,14,148,13,36,34,240,168,70,221,73,177,6,5,202,107,250,46,207,66,47,101,115,119,103,107,247, +107,240,249,62,40,118,166,28,104,102,105,78,200,54,7,5,47,31,15,114,144,237,5,189,9,138,131,226,165,107,76,6,201,170,58,228,32,13,80,135,237,153,202,104,174,156,78,97,46,80,222,169,191,77,35,122,101,136,6,88,10,17,7,114,181,90,62,217,93,26,8,236,129, +180,8,58,114,177,155,41,179,187,114,1,98,207,126,167,186,198,179,219,25,122,4,74,66,5,88,106,12,228,79,203,96,41,49,114,246,198,175,60,245,153,12,155,189,252,144,223,121,97,247,221,83,143,65,63,254,44,143,221,39,91,63,245,18,34,199,57,216,192,182,122, +8,134,139,218,216,27,186,163,13,221,29,87,133,75,95,34,124,251,15,200,10,106,30,136,151,163,141,17,110,230,97,99,43,65,37,1,113,78,212,146,212,131,83,144,125,174,26,130,133,50,67,45,2,154,60,143,156,232,26,126,151,179,120,168,101,64,9,185,211,48,97,196, +191,117,127,154,228,5,116,124,117,29,7,226,251,75,182,177,157,184,141,233,119,230,182,127,146,82,249,169,20,64,23,236,0,85,28,104,146,119,235,96,141,208,226,191,223,87,79,65,170,132,111,41,148,13,208,170,194,170,1,153,126,42,6,100,250,170,24,144,233, +175,98,64,166,207,138,1,137,102,252,84,21,128,76,223,99,141,115,237,15,93,201,233,133,122,186,187,44,3,72,244,59,83,81,44,94,33,118,202,2,18,77,147,60,34,152,249,112,244,206,124,55,250,142,4,168,181,78,32,51,14,36,6,82,73,214,26,179,13,215,3,164,199, +74,113,42,18,162,131,135,105,2,105,94,170,51,144,55,95,201,31,133,125,157,212,35,167,25,35,14,164,207,193,242,52,55,103,168,54,1,221,79,129,204,201,154,7,37,170,38,231,65,114,46,196,247,77,13,212,45,23,72,244,3,136,248,68,216,245,109,26,217,0,0,0,0,73, +69,78,68,174,66,96,130,0,0 }; + +const char* eyedropperoff_png = (const char*) temp_binary_data_8; +} diff --git a/LatestCompiledAssets/InspectorBinaryData.h b/LatestCompiledAssets/InspectorBinaryData.h deleted file mode 100644 index ddcd005..0000000 --- a/LatestCompiledAssets/InspectorBinaryData.h +++ /dev/null @@ -1,45 +0,0 @@ -/* ========================================================================================= - - This is an auto-generated file: Any edits you make may be overwritten! - -*/ - -#pragma once - -namespace InspectorBinaryData -{ - extern const char* _DS_Store; - const int _DS_StoreSize = 6148; - - extern const char* Clear_png; - const int Clear_pngSize = 1419; - - extern const char* Eyedropperoff_png; - const int Eyedropperoff_pngSize = 673; - - extern const char* Eyedropperon_png; - const int Eyedropperon_pngSize = 671; - - extern const char* Logo_png; - const int Logo_pngSize = 25781; - - extern const char* Search_png; - const int Search_pngSize = 941; - - // Number of elements in the namedResourceList and originalFileNames arrays. - const int namedResourceListSize = 6; - - // Points to the start of a list of resource names. - extern const char* namedResourceList[]; - - // Points to the start of a list of resource filenames. - extern const char* originalFilenames[]; - - // If you provide the name of one of the binary resource variables above, this function will - // return the corresponding data and its size (or a null pointer if the name isn't found). - const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes); - - // If you provide the name of one of the binary resource variables above, this function will - // return the corresponding original, non-mangled filename (or a null pointer if the name isn't found). - const char* getNamedResourceOriginalFilename (const char* resourceNameUTF8); -} diff --git a/LatestCompiledAssets/input_file_list b/LatestCompiledAssets/input_file_list index 098783f..93c8d14 100644 --- a/LatestCompiledAssets/input_file_list +++ b/LatestCompiledAssets/input_file_list @@ -1,6 +1,14 @@ /Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/.DS_Store -/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/Clear.png -/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/Eyedropper-off.png -/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/Eyedropper-on.png -/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/Logo.png -/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/Search.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/clear.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/dogfood-off.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/dogfood-on.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/enabled-off.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/enabled-on.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/expand-off.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/expand-on.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/eyedropper-off.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/eyedropper-on.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/logo.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/search.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/timing-off.png +/Users/sudara/projects/sinemachine/modules/melatonin_inspector/Assets/timing-on.png diff --git a/melatonin/components/box_model.h b/melatonin/components/box_model.h index 8ba8cf0..6b7f35f 100644 --- a/melatonin/components/box_model.h +++ b/melatonin/components/box_model.h @@ -107,7 +107,7 @@ namespace melatonin g.strokePath (parentRectanglePath, parentStroke); g.setColour (colors::boxModelBoundingBox); - g.drawRect (componentRectangle(), 1.0); + g.drawRect (componentRectangle(), 1); // draw padding g.setColour (colors::boxModelBoundingBox.withAlpha (0.2f)); @@ -175,7 +175,7 @@ namespace melatonin paddingBottomLabel, paddingLeftLabel; - int padding = 32; + int padding = 34; int paddingToParent = 44; juce::Path parentRectanglePath; // complicated b/c it's dashed bool isPaddingComponent { false }; diff --git a/melatonin/components/collapsable_panel.h b/melatonin/components/collapsable_panel.h index 811a2d0..782439a 100644 --- a/melatonin/components/collapsable_panel.h +++ b/melatonin/components/collapsable_panel.h @@ -36,7 +36,7 @@ namespace melatonin if (drawTopDivider) area.removeFromTop (1); // pixel perfect, please - toggleButton.setBounds (area.reduced (8, 2).removeFromLeft(200)); + toggleButton.setBounds (area.reduced (8, 2).removeFromLeft (200)); } // when the inspector as a whole is toggled, recall our content's visibility @@ -79,7 +79,7 @@ namespace melatonin g.setOpacity (0.5f); g.drawText (button.getButtonText(), - button.getLocalBounds().withTrimmedLeft (juce::roundToInt (tickWidth) + 16).withTrimmedRight (2), + button.getLocalBounds().withTrimmedLeft (juce::roundToInt (tickWidth) + 12).withTrimmedRight (2), juce::Justification::centredLeft); } @@ -87,8 +87,7 @@ namespace melatonin { juce::Rectangle tickBounds (x, y, w, h); - tickBounds.reduce (0, 2); - auto boxSize = tickBounds.getHeight(); + auto boxSize = tickBounds.getHeight() - 5; juce::Path p; p.addTriangle (tickBounds.getX(), tickBounds.getY(), tickBounds.getX() + boxSize + 2, tickBounds.getY(), tickBounds.getX() + boxSize * 0.5f + 1, tickBounds.getY() + boxSize); @@ -102,6 +101,8 @@ namespace melatonin if (!ticked) transform = transform.translated (0, -boxSize * 0.25f + 1); + else + transform = transform.translated (-1, 3); g.fillPath (p, transform); } diff --git a/melatonin/components/color_picker.h b/melatonin/components/color_picker.h index 532c636..eb93757 100644 --- a/melatonin/components/color_picker.h +++ b/melatonin/components/color_picker.h @@ -61,10 +61,9 @@ namespace melatonin colorPickerButton.onClick = [this]() { // hides the text when the picker isn't active // uncertain why, but this must be accessed through "this" - if (this->colorPickerButton.enabled) + if (this->colorPickerButton.on) { preview.setVisible (true); - // pick an arbitrary first position in the overlay if (root != nullptr) updatePicker ({ root->getX() + 10, root->getY() + 10 }); @@ -82,7 +81,7 @@ namespace melatonin // toggle overlay if (togglePickerCallback) - togglePickerCallback (!colorPickerButton.enabled); + togglePickerCallback (!colorPickerButton.on); }; // sets the color properties with the correct display format @@ -98,7 +97,7 @@ namespace melatonin void paint (juce::Graphics& g) override { - if (colorPickerButton.enabled) + if (colorPickerButton.on) { g.setColour (colors::black); @@ -115,7 +114,7 @@ namespace melatonin { g.setColour (colors::propertyName); g.setFont (juce::Font ("Verdana", 15, juce::Font::FontStyleFlags::plain)); - g.drawText ("No Color Properties", panelBounds.withTrimmedLeft (5), juce::Justification::topLeft); + g.drawText ("No Color Properties", panelBounds.withTrimmedLeft (3).withTrimmedTop (2), juce::Justification::topLeft); } } @@ -144,7 +143,7 @@ namespace melatonin if (root == nullptr) return; - event.eventComponent->setMouseCursor (colorPickerButton.enabled ? eyedropperCursor : juce::MouseCursor::NormalCursor); + event.eventComponent->setMouseCursor (colorPickerButton.on ? eyedropperCursor : juce::MouseCursor::NormalCursor); auto rootPos = event.getEventRelativeTo (root).getPosition(); @@ -164,7 +163,7 @@ namespace melatonin void mouseExit (const juce::MouseEvent& event) override { - event.eventComponent->setMouseCursor (colorPickerButton.enabled ? eyedropperCursor : juce::MouseCursor::NormalCursor); + event.eventComponent->setMouseCursor (colorPickerButton.on ? eyedropperCursor : juce::MouseCursor::NormalCursor); } void mouseDown (const juce::MouseEvent& /*event*/) override @@ -172,11 +171,11 @@ namespace melatonin if (root == nullptr || image == nullptr) return; - if (colorPickerButton.enabled && selectedColor != juce::Colours::transparentBlack) + if (colorPickerButton.on && selectedColor != juce::Colours::transparentBlack) { model.pickedColor.setValue ((int) selectedColor.getARGB()); model.refresh(); // update Last Picked - colorPickerButton.enabled = false; + colorPickerButton.on = false; colorPickerButton.onClick(); } } @@ -232,7 +231,7 @@ namespace melatonin { if (!isVisible()) { - colorPickerButton.enabled = false; + colorPickerButton.on = false; colorPickerButton.onClick(); } } @@ -242,12 +241,12 @@ namespace melatonin Preview& preview; juce::PropertyPanel panel { "Properties" }; - InspectorImageButton colorPickerButton { "Eyedropper", { 0, 6 }, true }; + InspectorImageButton colorPickerButton { "eyedropper", { 0, 6 }, true }; juce::Rectangle colorValueBounds; juce::Rectangle panelBounds; RGBAToggle rgbaToggle; - juce::Image eyedropperCursorImage = getIcon ("Eyedropperon").rescaled (16, 16); + juce::Image eyedropperCursorImage = getIcon ("eyedropperon").rescaled (16, 16); juce::MouseCursor eyedropperCursor { eyedropperCursorImage, 0, 15 }; std::unique_ptr image; @@ -257,7 +256,7 @@ namespace melatonin void updatePicker (juce::Point point) { - if (!colorPickerButton.enabled) + if (!colorPickerButton.on) return; selectedColor = image->getPixelAt (point.x, point.y); diff --git a/melatonin/components/colour_property_component.h b/melatonin/components/colour_property_component.h index 87984e7..7415c2b 100644 --- a/melatonin/components/colour_property_component.h +++ b/melatonin/components/colour_property_component.h @@ -45,10 +45,10 @@ namespace melatonin class ColorSelector : public juce::ColourSelector, private juce::ChangeListener { public: - explicit ColorSelector (int flags = (showAlphaChannel | showColourAtTop | showSliders | showColourspace), + explicit ColorSelector (int selectorFlags = (showAlphaChannel | showColourAtTop | showSliders | showColourspace), int edgeGap = 4, int gapAroundColourSpaceComponent = 7) - : juce::ColourSelector (flags, edgeGap, gapAroundColourSpaceComponent) + : juce::ColourSelector (selectorFlags, edgeGap, gapAroundColourSpaceComponent) { addChangeListener (this); } @@ -103,11 +103,11 @@ namespace melatonin { if (e.mouseWasClicked()) { - auto flags = juce::ColourSelector::showSliders | juce::ColourSelector::showColourspace; + auto selectorFlags = juce::ColourSelector::showSliders | juce::ColourSelector::showColourspace; if (alpha) - flags |= juce::ColourSelector::showAlphaChannel; + selectorFlags |= juce::ColourSelector::showAlphaChannel; - auto colourSelector = std::make_unique (flags); + auto colourSelector = std::make_unique (selectorFlags); colourSelector->setLookAndFeel (&getLookAndFeel()); colourSelector->setSize (300, 300); diff --git a/melatonin/components/component_tree_view_item.h b/melatonin/components/component_tree_view_item.h index 3b2f3bc..0e9e7ae 100644 --- a/melatonin/components/component_tree_view_item.h +++ b/melatonin/components/component_tree_view_item.h @@ -169,7 +169,7 @@ namespace melatonin void forceSelectAndOpen (juce::NotificationType notificationType = juce::sendNotification) { selectable = true; - setSelected (true, notificationType); + setSelected (true, true, notificationType); selectable = false; setOpen (true); } @@ -251,8 +251,10 @@ namespace melatonin int getItemHeight() const override { + auto normalItemHeight = 28; + // root has top padding - return (getParentItem() == nullptr) ? 52 : 28; + return (getParentItem() == nullptr) ? normalItemHeight + 12 : normalItemHeight; } std::function outlineComponentCallback; @@ -285,18 +287,14 @@ namespace melatonin void validateSubItems() { - for (int i = 0; i < getNumSubItems(); ++i) - { - // Ideally we'd just re-render the sub-items branch: - // auto subItemToValidate = dynamic_cast (getSubItem (i)); - - // However, that wasn't working so the scorched earth strategy is - // if any child has a deleted component, we re-render the whole branch - // (we don't explicitly know if things were added or removed) - clearSubItems(); - addItemsForChildComponents(); - break; - } + // Ideally we'd just re-render the sub-items branch: + // auto subItemToValidate = dynamic_cast (getSubItem (i)); + + // However, that wasn't working so the scorched earth strategy is + // if any child has a deleted component, we re-render the whole branch + // (we don't explicitly know if things were added or removed) + clearSubItems(); + addItemsForChildComponents(); } void selectTabbedComponentChildIfNeeded() diff --git a/melatonin/components/inspector_image_button.h b/melatonin/components/inspector_image_button.h index 508cbc0..0f62ed0 100644 --- a/melatonin/components/inspector_image_button.h +++ b/melatonin/components/inspector_image_button.h @@ -7,12 +7,14 @@ namespace melatonin class InspectorImageButton : public juce::Component { public: - bool enabled = false; + bool on = false; std::function onClick; std::function onDoubleClick; explicit InspectorImageButton (const juce::String& filename, juce::Point o = { 0, 0 }, bool toggleable = false) : offset (o) { + setInterceptsMouseClicks (true, false); + setName (filename); if (!toggleable) imageOn = getIcon (filename); else @@ -27,7 +29,7 @@ namespace melatonin void paint (juce::Graphics& g) override { // Assumes exported at 2x - if (enabled || imageOff.isNull()) + if (on || imageOff.isNull()) g.drawImageTransformed (imageOn, juce::AffineTransform::scale (0.5f).translated (offset).translated ((float) offset.getX(), (float) offset.getY())); else g.drawImageTransformed (imageOff, juce::AffineTransform::scale (0.5f).translated (offset).translated ((float) offset.getX(), (float) offset.getY())); @@ -35,7 +37,7 @@ namespace melatonin void mouseDown (const juce::MouseEvent& /*event*/) override { - enabled = !enabled; + on = !on; if (onClick != nullptr) onClick(); repaint(); diff --git a/melatonin/components/overlay.h b/melatonin/components/overlay.h index 43e042e..ae67c5b 100644 --- a/melatonin/components/overlay.h +++ b/melatonin/components/overlay.h @@ -43,11 +43,11 @@ namespace melatonin // draws inwards as the line thickens if (outlinedComponent) - g.drawRect (outlinedBounds, 2.0f); + g.drawRect (outlinedBounds, 2); if (selectedComponent) { // Thinner border than hover (draws inwards) - g.drawRect (selectedBounds, 1.0f); + g.drawRect (selectedBounds, 1); const float dashes[] { 2.0f, 2.0f }; g.drawDashedLine (lineFromTopToParent, dashes, 2, 1.0f); @@ -68,14 +68,14 @@ namespace melatonin g.setColour (colors::overlayLabelBackground); // text doesn't vertically center very nicely without manual offset - g.fillRoundedRectangle (dimensionsLabelBounds.toFloat().withBottom (dimensionsLabelBounds.getBottom()), 2.0f); + g.fillRoundedRectangle (dimensionsLabelBounds.withBottom (dimensionsLabelBounds.getBottom()).toFloat(), 2.0f); } if (!hoveredBounds.isEmpty()) { g.setColour (colors::overlayDistanceToHovered); - g.drawRect (hoveredBounds.reduced (1.0f)); - g.drawRect (selectedBounds.reduced (1.0f)); + g.drawRect (hoveredBounds.reduced (1)); + g.drawRect (selectedBounds.reduced (1)); const float dashes[] { 2.0f, 2.0f }; g.drawLine (lineToTopHoveredComponent, 2); @@ -88,13 +88,13 @@ namespace melatonin // text doesn't vertically center very nicely without manual offset if (distanceToTopHoveredLabel.isVisible()) - g.fillRoundedRectangle (distanceToTopLabelBounds.toFloat().withBottom (distanceToTopLabelBounds.getBottom()), 2.0f); + g.fillRoundedRectangle (distanceToTopLabelBounds.withBottom (distanceToTopLabelBounds.getBottom()).toFloat(), 2.0f); if (distanceToBottomHoveredLabel.isVisible()) - g.fillRoundedRectangle (distanceToBottomLabelBounds.toFloat().withBottom (distanceToBottomLabelBounds.getBottom()), 2.0f); + g.fillRoundedRectangle (distanceToBottomLabelBounds.withBottom (distanceToBottomLabelBounds.getBottom()).toFloat(), 2.0f); if (distanceToLeftHoveredLabel.isVisible()) - g.fillRoundedRectangle (distanceToLeftLabelBounds.toFloat().withBottom (distanceToLeftLabelBounds.getBottom()), 2.0f); + g.fillRoundedRectangle (distanceToLeftLabelBounds.withBottom (distanceToLeftLabelBounds.getBottom()).toFloat(), 2.0f); if (distanceToRightHoveredLabel.isVisible()) - g.fillRoundedRectangle (distanceToRightLabelBounds.toFloat().withBottom (distanceToRightLabelBounds.getBottom()), 2.0f); + g.fillRoundedRectangle (distanceToRightLabelBounds.withBottom (distanceToRightLabelBounds.getBottom()).toFloat(), 2.0f); } } @@ -468,13 +468,15 @@ namespace melatonin lineToBottomHoveredComponent = juce::Line (p1, p1.withY (hoveredBounds.getBottom())).toFloat(); // avoid drawing horizontal line and if line is going into component - if (lineToBottomHoveredComponent.isHorizontal() || lineToBottomHoveredComponent.getStartY() < lineToBottomHoveredComponent.getEndY()) + if (juce::approximatelyEqual (lineToBottomHoveredComponent.getStartY(), lineToBottomHoveredComponent.getEndY()) || lineToBottomHoveredComponent.getStartY() < lineToBottomHoveredComponent.getEndY()) lineToBottomHoveredComponent = juce::Line(); + // avoid drawing strictly vertical line lineToLeftHoveredComponent - if (lineToLeftHoveredComponent.isVertical() || lineToLeftHoveredComponent.getStartX() > lineToLeftHoveredComponent.getEndX()) + if (juce::approximatelyEqual (lineToLeftHoveredComponent.getStartX(), lineToLeftHoveredComponent.getEndX()) || lineToLeftHoveredComponent.getStartX() > lineToLeftHoveredComponent.getEndX()) lineToLeftHoveredComponent = juce::Line(); + // avoid drawing strictly vertical line lineToRightHoveredComponent - if (lineToRightHoveredComponent.isVertical() || lineToRightHoveredComponent.getStartX() < lineToRightHoveredComponent.getEndX()) + if (juce::approximatelyEqual (lineToRightHoveredComponent.getStartX(), lineToRightHoveredComponent.getEndX()) || lineToRightHoveredComponent.getStartX() < lineToRightHoveredComponent.getEndX()) lineToRightHoveredComponent = juce::Line(); } else @@ -495,14 +497,15 @@ namespace melatonin lineToTopHoveredComponent = juce::Line (p1, p1.withY (hoveredBounds.getY())).toFloat(); // avoid drawing horizontal line and if line is going into component - if (lineToTopHoveredComponent.isHorizontal() || lineToTopHoveredComponent.getStartY() > lineToTopHoveredComponent.getEndY()) + if (juce::approximatelyEqual (lineToTopHoveredComponent.getStartY(), lineToTopHoveredComponent.getEndY()) || lineToTopHoveredComponent.getStartY() > lineToTopHoveredComponent.getEndY()) lineToTopHoveredComponent = juce::Line(); - // avoid drawing stricly vertical line lineToLeftHoveredComponent - if (lineToLeftHoveredComponent.isVertical() || lineToLeftHoveredComponent.getStartX() > lineToLeftHoveredComponent.getEndX()) + // avoid drawing strictly vertical line lineToLeftHoveredComponent + if (juce::approximatelyEqual (lineToLeftHoveredComponent.getStartX(), lineToLeftHoveredComponent.getEndX()) || lineToLeftHoveredComponent.getStartX() > lineToLeftHoveredComponent.getEndX()) lineToLeftHoveredComponent = juce::Line(); - // avoid drawing stricly vertical line lineToRightHoveredComponent - if (lineToRightHoveredComponent.isVertical() || lineToRightHoveredComponent.getStartX() < lineToRightHoveredComponent.getEndX()) + + // avoid drawing strictly vertical line lineToRightHoveredComponent + if (juce::approximatelyEqual (lineToRightHoveredComponent.getStartX(), lineToRightHoveredComponent.getEndX()) || lineToRightHoveredComponent.getStartX() < lineToRightHoveredComponent.getEndX()) lineToRightHoveredComponent = juce::Line(); } diff --git a/melatonin/components/preview.h b/melatonin/components/preview.h index 8a04539..05b7d2c 100644 --- a/melatonin/components/preview.h +++ b/melatonin/components/preview.h @@ -8,16 +8,31 @@ namespace melatonin class Preview : public juce::Component, public ComponentModel::Listener { public: - bool zoom = false; // allow parent to ask about our state int zoomScale = 20; explicit Preview (ComponentModel& _model) : model (_model) { + setInterceptsMouseClicks (true, true); model.addListener (*this); addChildComponent (maxLabel); + addAndMakeVisible (timingToggle); maxLabel.setColour (juce::Label::textColourId, colors::iconOff); maxLabel.setJustificationType (juce::Justification::centredTop); maxLabel.setFont (juce::Font ("Verdana", 18, juce::Font::FontStyleFlags::bold)); + + // by default timings aren't on + timingToggle.on = settings->props->getBoolValue ("showPerformanceTimings", false); + timingToggle.onClick = [this] { + // don't enable if we don't have timings + if (!model.hasPerformanceTiming()) + { + timingToggle.on = false; + return; + } + + settings->props->setValue ("showPerformanceTimings", timingToggle.on); + getParentComponent()->resized(); + }; } ~Preview() override @@ -27,9 +42,10 @@ namespace melatonin void paint (juce::Graphics& g) override { - g.fillAll (colors::black); + g.setColour (colors::black); + g.fillRect (contentBounds); - if (!zoom && model.hasPerformanceTiming()) + if (showsPerformanceTimings()) { // background for the max section maxLabel.setVisible (true); @@ -41,30 +57,31 @@ namespace melatonin bool hasExclusive = exclusiveSum * 1000 * 1000 > 1; // at least 1 microsecond bool hasChildren = model.hasChildren.getValue(); - auto exclusiveBounds = performanceBounds.withHeight (23).withTrimmedBottom (2); + auto exclusive = exclusiveBounds; g.setColour (hasExclusive ? colors::propertyName : colors::propertyValueDisabled); - g.drawText ("Exclusive", exclusiveBounds.removeFromLeft (100), juce::Justification::topLeft); - drawTimingText (g, exclusiveBounds.removeFromLeft (60), model.timing1.getValue(), !hasExclusive); - drawTimingText (g, exclusiveBounds.removeFromLeft (60), model.timing2.getValue(), !hasExclusive); - drawTimingText (g, exclusiveBounds.removeFromLeft (60), model.timing3.getValue(), !hasExclusive); - drawTimingText (g, exclusiveBounds.removeFromLeft (60), model.timingMax.getValue(), !hasExclusive); + g.drawText ("Exclusive", exclusive.removeFromLeft (100), juce::Justification::topLeft); + drawTimingText (g, exclusive.removeFromLeft (60), model.timing1.getValue(), !hasExclusive); + drawTimingText (g, exclusive.removeFromLeft (60), model.timing2.getValue(), !hasExclusive); + drawTimingText (g, exclusive.removeFromLeft (60), model.timing3.getValue(), !hasExclusive); + drawTimingText (g, exclusive.removeFromLeft (60), model.timingMax.getValue(), !hasExclusive); - auto withChildrenBounds = performanceBounds.withTop (123); + auto withChildren = withChildrenBounds; g.setColour (hasChildren ? colors::propertyName : colors::propertyValueDisabled); - g.drawText ("With Children", withChildrenBounds.removeFromLeft (100), juce::Justification::topLeft); - drawTimingText (g, withChildrenBounds.removeFromLeft (60), model.timingWithChildren1, !hasChildren); - drawTimingText (g, withChildrenBounds.removeFromLeft (60), model.timingWithChildren2, !hasChildren); - drawTimingText (g, withChildrenBounds.removeFromLeft (60), model.timingWithChildren3, !hasChildren); - drawTimingText (g, withChildrenBounds.removeFromLeft (60), model.timingWithChildrenMax, !hasChildren); + g.drawText ("With Children", withChildren.removeFromLeft (100), juce::Justification::topLeft); + drawTimingText (g, withChildren.removeFromLeft (60), model.timingWithChildren1, !hasChildren); + drawTimingText (g, withChildren.removeFromLeft (60), model.timingWithChildren2, !hasChildren); + drawTimingText (g, withChildren.removeFromLeft (60), model.timingWithChildren3, !hasChildren); + drawTimingText (g, withChildren.removeFromLeft (60), model.timingWithChildrenMax, !hasChildren); } else { maxLabel.setVisible (false); } - if (zoom) + if (colorPicking) { // lets see them pixels! + g.saveState(); g.setImageResamplingQuality (juce::Graphics::ResamplingQuality::lowResamplingQuality); /* the zoomed snapshot is always *larger* than our preview area @@ -78,50 +95,72 @@ namespace melatonin │ │ │ │ └─┴────────────────────┴─┘ */ + int imageY = contentBounds.getY(); int bleedPerSide = (previewImage.getWidth() * zoomScale - getWidth()) / 2; - g.drawImageTransformed (previewImage, juce::AffineTransform::scale ((float) zoomScale, (float) zoomScale).translated ((float) -bleedPerSide, 0)); + g.drawImageTransformed (previewImage, juce::AffineTransform::scale ((float) zoomScale, (float) zoomScale).translated ((float) -bleedPerSide, (float) imageY)); // draw grid g.setColour (juce::Colours::grey.withAlpha (0.3f)); - for (auto i = 0; i < getHeight() / zoomScale; i++) - g.drawHorizontalLine (i * zoomScale, 0, (float) getWidth()); + for (auto i = 0; i < contentBounds.getHeight() / zoomScale; i++) + g.drawHorizontalLine (imageY + i * zoomScale, 0, (float) getWidth()); int numberOfVerticalLines = previewImage.getWidth() - 1; auto inset = zoomScale - bleedPerSide; for (auto i = 0; i < numberOfVerticalLines; i++) - g.drawVerticalLine (inset + i * zoomScale, 0, (float) getHeight()); + g.drawVerticalLine (inset + i * zoomScale, (float) imageY, (float) contentBounds.getBottom()); // highlight the center pixel in first black, then white boxes g.setColour (juce::Colours::black); // grab the top left of the center pixel int highlightedPixelX = inset + (numberOfVerticalLines - 1) / 2 * zoomScale; - g.drawRect (highlightedPixelX, getHeight() / 2 - 10, zoomScale, zoomScale); + int highlightY = (int) imageY + contentBounds.getHeight() / 2; + g.drawRect (highlightedPixelX, highlightY - 10, zoomScale, zoomScale); g.setColour (juce::Colours::white); - g.drawRect (highlightedPixelX - 2, getHeight() / 2 - 12, 24, 24, 2); + g.drawRect (highlightedPixelX - 2, highlightY - 12, 24, 24, 2); + g.restoreState(); // back to full quality drawing } - else + else if (!previewImage.isNull()) { - g.setImageResamplingQuality (juce::Graphics::ResamplingQuality::highResamplingQuality); - g.drawImage (previewImage, previewBounds.reduced (32, 16).toFloat(), juce::RectanglePlacement::centred); + // don't want our checkers aliased + g.setOpacity (1.0f); // oddly needed to draw the image properly, otherwise there's alpha + g.saveState(); + g.setImageResamplingQuality (juce::Graphics::ResamplingQuality::lowResamplingQuality); + + // clipping keeps checkerboard background consistent across image positions / sizes + g.drawImage (checkerboard.getClippedImage (previewImage.getBounds()), previewImageBounds.toFloat(), juce::RectanglePlacement::centred); + + g.restoreState(); + g.drawImage (previewImage, previewImageBounds.toFloat(), juce::RectanglePlacement::centred); } } void resized() override { auto area = getLocalBounds(); - if (model.hasPerformanceTiming()) + buttonsBounds = area.removeFromTop (32); + timingToggle.setBounds (buttonsBounds.removeFromRight (32)); + buttonsBounds.removeFromRight (12); + contentBounds = area; + + if (showsPerformanceTimings()) { - performanceBounds = area.removeFromBottom (50).withLeft (32); + auto performanceBounds = area.removeFromBottom (50).withLeft (32); maxBounds = performanceBounds.withLeft (304).withWidth (80).translated (0, -4).withTrimmedBottom (4); auto pivot = maxBounds.getTopRight().toFloat(); + exclusiveBounds = performanceBounds.removeFromTop (25); + withChildrenBounds = performanceBounds; maxLabel.setBounds (maxBounds.withLeft ((int) pivot.getX() - 50)); maxLabel.setTransform (juce::AffineTransform().rotated (-juce::MathConstants::halfPi, pivot.getX(), pivot.getY()).translated (-22, -2)); } else - performanceBounds = juce::Rectangle(); + { + exclusiveBounds = juce::Rectangle(); + withChildrenBounds = juce::Rectangle(); + } - previewBounds = area; + previewImageBounds = area.reduced (32, 16); + drawCheckerboard(); } void mouseDoubleClick (const juce::MouseEvent&) override @@ -151,25 +190,37 @@ namespace melatonin void setZoomedImage (const juce::Image& image) { previewImage = image; - zoom = true; + colorPicking = true; repaint(); } void switchToPreview() { - zoom = false; + colorPicking = false; componentModelChanged (model); repaint(); } - ComponentModel& model; + [[nodiscard]] bool showsPerformanceTimings() + { + return !colorPicking && model.hasPerformanceTiming() && timingToggle.on; + } private: juce::Image previewImage; - juce::Path parentRectanglePath; - juce::Rectangle performanceBounds; - juce::Rectangle previewBounds; + juce::Image checkerboard; + juce::SharedResourcePointer settings; + ComponentModel& model; + bool colorPicking = false; + + juce::Rectangle buttonsBounds; + juce::Rectangle contentBounds; + juce::Rectangle previewImageBounds; + juce::Rectangle exclusiveBounds; + juce::Rectangle withChildrenBounds; juce::Rectangle maxBounds; + + InspectorImageButton timingToggle { "timing", { 4, 4 }, true }; juce::Label maxLabel { "max", "MAX" }; void componentModelChanged (ComponentModel&) override @@ -179,7 +230,7 @@ namespace melatonin else previewImage = juce::Image(); - zoom = false; + colorPicking = false; } static void drawTimingText (juce::Graphics& g, juce::Rectangle bounds, double value, bool disabled = false) @@ -209,6 +260,30 @@ namespace melatonin else return juce::String (ms, 1) + "ms"; } + + // we draw the checkerboard at the full preview width and cache it + // it's later clipped as needed + void drawCheckerboard() + { + if (previewImageBounds.isEmpty()) + return; + + checkerboard = { juce::Image::RGB, previewImageBounds.getWidth(), previewImageBounds.getHeight(), true }; + juce::Graphics g2 (checkerboard); + int checkerSize = settings->props->getIntValue ("checkerSize", 4); + + for (int i = 0; i < previewImageBounds.getWidth(); i += checkerSize) + { + // keeps checkerboard background consistent across image positions / sizes + // allows for initial or ending partial checker + for (auto j = 0; j < previewImageBounds.getHeight(); j += checkerSize) + { + g2.setColour (((i + j) / checkerSize) % 2 == 0 ? colors::checkerLight : colors::checkerDark); + g2.fillRect (i, j, checkerSize, checkerSize); + } + } + } + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Preview) }; } diff --git a/melatonin/components/properties.h b/melatonin/components/properties.h index 895d00e..fbae3de 100644 --- a/melatonin/components/properties.h +++ b/melatonin/components/properties.h @@ -45,7 +45,7 @@ namespace melatonin ComponentModel& model; juce::PropertyPanel panel { "Properties" }; - int padding = 5; + int padding = 3; void componentModelChanged (ComponentModel&) override { @@ -72,8 +72,8 @@ namespace melatonin [[nodiscard]] juce::Array createPropertyComponents() const { // we can't actually set these values from the front end, so disable them - auto cachedImage = new juce::BooleanPropertyComponent (model.hasCachedImageValue, "CachedToImage", ""); - cachedImage->setEnabled (false); + auto hasCachedImage = new juce::BooleanPropertyComponent (model.hasCachedImageValue, "CachedToImage", ""); + hasCachedImage->setEnabled (false); // Always have class up top juce::Array props = { @@ -110,7 +110,7 @@ namespace melatonin new juce::TextPropertyComponent (model.fontValue, "Font", 5, false, false), new juce::BooleanPropertyComponent (model.wantsFocusValue, "Wants Keyboard Focus", ""), new juce::BooleanPropertyComponent (model.accessibilityHandledValue, "Accessibility", ""), - cachedImage, + hasCachedImage, new juce::BooleanPropertyComponent (model.interceptsMouseValue, "Intercepts Mouse", ""), new juce::BooleanPropertyComponent (model.childrenInterceptsMouseValue, "Children Intercepts", "") }); diff --git a/melatonin/components/tree_component.h b/melatonin/components/tree_component.h index 50d5506..6148c27 100644 --- a/melatonin/components/tree_component.h +++ b/melatonin/components/tree_component.h @@ -57,20 +57,5 @@ namespace melatonin juce::TextButton clearBtn { "clear" }; std::unique_ptr rootItem; - void componentChanged (ComponentModel& componentModel) override - { - if(auto component = componentModel.getSelectedComponent()){ - /*if (collapseTreeBeforeSelection) - { - getRoot()->recursivelyCloseSubItems(); - } - getRoot()->openTreeAndSelect (component); - - tree.scrollToKeepItemVisible (tree.getSelectedItem (0));*/ - } - else { - //tree.setRootItem (getRoot()); - } - } }; } diff --git a/melatonin/helpers/colors.h b/melatonin/helpers/colors.h index 8693c97..44a1153 100644 --- a/melatonin/helpers/colors.h +++ b/melatonin/helpers/colors.h @@ -48,6 +48,9 @@ namespace melatonin::colors const juce::Colour boxModelBoundingBox = juce::Colour::fromRGB (66, 157, 226); const juce::Colour overlayDistanceToHovered = juce::Colour::fromRGB (212, 86, 63); + const juce::Colour checkerDark = juce::Colour::fromRGB (51, 51, 51); + const juce::Colour checkerLight = juce::Colour::fromRGB (104, 104, 104); + static inline juce::String rgbaString (juce::Colour& color) { if (color.getAlpha() < 255) diff --git a/melatonin/helpers/misc.h b/melatonin/helpers/misc.h index cd916ce..e1ccf98 100644 --- a/melatonin/helpers/misc.h +++ b/melatonin/helpers/misc.h @@ -1,5 +1,5 @@ #pragma once -#include "../../LatestCompiledAssets/InspectorBinaryData.h" +#include "../../InspectorBinaryData.h" #include namespace melatonin diff --git a/melatonin/inspector_component.h b/melatonin/inspector_component.h index a786a7a..75a4b8f 100644 --- a/melatonin/inspector_component.h +++ b/melatonin/inspector_component.h @@ -16,32 +16,34 @@ namespace melatonin { - class InspectorComponent : public juce::Component, public juce::Button::Listener + class InspectorComponent : public juce::Component { public: - explicit InspectorComponent (juce::Component& rootComponent, bool enabledAtStart = true) : root (rootComponent) + explicit InspectorComponent (juce::Component& rootComponent, bool enabledAtStart = true) : root (rootComponent), inspectorEnabled (enabledAtStart) { setMouseClickGrabsKeyboardFocus (false); - addAndMakeVisible (toggleButton); + addAndMakeVisible (enabledButton); addAndMakeVisible (logo); addChildComponent (tree); addChildComponent (emptySearchLabel); - addAndMakeVisible (colorPickerPanel); - addAndMakeVisible (previewPanel); - addAndMakeVisible (propertiesPanel); - - // visibility of everything but boxModel is managed by the toggle in the above panels - addAndMakeVisible (boxModel); + // visibilities of these are managed by the panels above + addChildComponent (boxModel); addChildComponent (colorPicker); addChildComponent (preview); addChildComponent (properties); + // z-order on panels is higher so they are clickable + addAndMakeVisible (boxModelPanel); + addAndMakeVisible (colorPickerPanel); + addAndMakeVisible (previewPanel); + addAndMakeVisible (propertiesPanel); + addAndMakeVisible (searchBox); addAndMakeVisible (searchIcon); - addChildComponent (clearBtn); + addChildComponent (clearButton); colorPicker.setRootComponent (&root); colorPicker.togglePickerCallback = [this] (bool value) { @@ -62,13 +64,6 @@ namespace melatonin emptySearchLabel.setJustificationType (juce::Justification::centredTop); emptySearchLabel.setColour (juce::Label::textColourId, colors::treeItemTextSelected); - toggleButton.setButtonText ("Enable inspector"); - toggleButton.setColour (juce::TextButton::textColourOffId, colors::disclosure); - toggleButton.setColour (juce::TextButton::textColourOnId, colors::highlight); - toggleButton.setToggleState (enabledAtStart, juce::dontSendNotification); - - toggleButton.addListener (this); - // the JUCE widget is unfriendly for theming, so indenting is also manually handled tree.setIndentSize (12); @@ -113,10 +108,15 @@ namespace melatonin emptySearchLabel.setVisible (false); } - clearBtn.setVisible (searchBox.getText().isNotEmpty()); + clearButton.setVisible (searchBox.getText().isNotEmpty()); }; - clearBtn.onClick = [this] { + enabledButton.on = inspectorEnabled; + enabledButton.onClick = [this] { + toggleCallback (!inspectorEnabled); + }; + + clearButton.onClick = [this] { searchBox.setText (""); searchBox.giveAwayKeyboardFocus(); }; @@ -165,9 +165,6 @@ namespace melatonin void resized() override { auto area = getLocalBounds(); - int padding = 8; - - auto inspectorEnabled = toggleButton.getToggleState(); if (!inspectorEnabled) mainColumnBounds = area.removeFromLeft (380); @@ -178,32 +175,34 @@ namespace melatonin auto headerHeight = 48; topArea = mainCol.removeFromTop (headerHeight); - toggleButton.setBounds (topArea.reduced (padding + 6, 0)); - logo.setBounds (topArea.withTrimmedLeft (topArea.getWidth() - 56)); + auto toolbar = topArea; + enabledButton.setBounds (toolbar.removeFromLeft (48)); + logo.setBounds (toolbar.removeFromRight (56)); - mainCol.removeFromTop (10); - boxModel.setBounds (mainCol.removeFromTop (300)); + mainCol.removeFromTop (12); + boxModelPanel.setBounds (mainCol.removeFromTop (32)); + boxModel.setBounds (mainCol.removeFromTop (boxModel.isVisible() ? 280 : 0)); - previewPanel.setBounds (mainCol.removeFromTop (32)); - auto previewExpandedBounds = (model.hasPerformanceTiming() && !preview.zoom) ? 150 : 100; - preview.setBounds (mainCol.removeFromTop (preview.isVisible() ? previewExpandedBounds : 0)); + auto previewHeight = (preview.showsPerformanceTimings()) ? 182 : 132; + auto previewBounds = mainCol.removeFromTop (preview.isVisible() ? previewHeight : 32); + preview.setBounds (previewBounds); + previewPanel.setBounds (previewBounds.removeFromTop (32).removeFromLeft (200)); - // the picker icon overlays the panel header, so we overlap it + // the picker icon + rgba toggle overlays the panel header, so we overlap it auto colorPickerHeight = 72; int numColorsToDisplay = juce::jlimit (0, properties.isVisible() ? 12 : 3, (int) model.colors.size()); if (colorPicker.isVisible() && !model.colors.empty()) colorPickerHeight += 24 * numColorsToDisplay; auto colorPickerBounds = mainCol.removeFromTop (colorPicker.isVisible() ? colorPickerHeight : 32); - colorPicker.setBounds (colorPickerBounds.withTrimmedLeft (32)); - colorPickerPanel.setBounds (colorPickerBounds.removeFromTop (32)); + colorPickerPanel.setBounds (colorPickerBounds.removeFromTop (32).removeFromLeft (200)); propertiesPanel.setBounds (mainCol.removeFromTop (33)); // extra pixel for divider properties.setBounds (mainCol.withTrimmedLeft (32)); searchBoxBounds = area.removeFromTop (headerHeight); auto b = searchBoxBounds; - clearBtn.setBounds (b.removeFromRight (48)); + clearButton.setBounds (b.removeFromRight (48)); searchIcon.setBounds (b.removeFromLeft (48)); searchBox.setBounds (b.reduced (0, 2)); @@ -269,22 +268,13 @@ namespace melatonin tree.scrollToKeepItemVisible (tree.getSelectedItem (0)); } - void buttonClicked (juce::Button* button) override - { - if (button == &toggleButton) - { - auto enabled = toggleButton.getToggleState(); - toggle (enabled); - - // this callback needs to stay here - // so it's never called from the inspector document (via cmd-i) - toggleCallback (enabled); - } - } - + // called from the main melatonin_inspector.h + // for example, on load of the entire inspector + // or after a toggle button click void toggle (bool enabled) { - toggleButton.setToggleState (enabled, juce::dontSendNotification); + enabledButton.on = enabled; + inspectorEnabled = enabled; // content visibility is handled by the panel previewPanel.setVisible (enabled); @@ -312,17 +302,15 @@ namespace melatonin private: Component::SafePointer selectedComponent; Component& root; - juce::SharedResourcePointer settings; - - juce::ToggleButton toggleButton; - ComponentModel model; + bool inspectorEnabled; juce::Rectangle mainColumnBounds, topArea, searchBoxBounds, treeViewBounds; - InspectorImageButton logo { "Logo" }; + InspectorImageButton logo { "logo" }; BoxModel boxModel { model }; + CollapsablePanel boxModelPanel { "BOX MODEL", &boxModel }; Preview preview { model }; CollapsablePanel previewPanel { "PREVIEW", &preview }; @@ -338,8 +326,9 @@ namespace melatonin juce::Label emptySelectionPrompt { "SelectionPrompt", "Select any component to see components tree" }; juce::Label emptySearchLabel { "EmptySearchResultsPrompt", "No component found" }; juce::TextEditor searchBox { "Search box" }; - InspectorImageButton clearBtn { "Clear", { 0, 6 } }; - InspectorImageButton searchIcon { "Search", { 8, 8 } }; + InspectorImageButton enabledButton { "enabled", { 8, 6 }, true }; + InspectorImageButton clearButton { "clear", { 0, 6 } }; + InspectorImageButton searchIcon { "search", { 8, 8 } }; std::unique_ptr rootItem; ComponentTreeViewItem* getRoot() @@ -362,11 +351,6 @@ namespace melatonin resized(); } - [[nodiscard]] bool shouldShowPanel (CollapsablePanel& panel) - { - return settings->props->getBoolValue (panel.getName(), true); - } - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InspectorComponent) }; } diff --git a/melatonin/lookandfeel.h b/melatonin/lookandfeel.h index 414758c..100b063 100644 --- a/melatonin/lookandfeel.h +++ b/melatonin/lookandfeel.h @@ -160,7 +160,7 @@ namespace melatonin r.getX() - 5, r.getHeight(), juce::Justification::centredLeft, - 2); + true); if (component.getProperties().getWithDefault ("isUserProperty", false)) { diff --git a/melatonin_inspector.cpp b/melatonin_inspector.cpp index 310f9aa..8972ba7 100644 --- a/melatonin_inspector.cpp +++ b/melatonin_inspector.cpp @@ -7,3 +7,11 @@ #include "LatestCompiledAssets/BinaryData4.cpp" #include "LatestCompiledAssets/BinaryData5.cpp" #include "LatestCompiledAssets/BinaryData6.cpp" +#include "LatestCompiledAssets/BinaryData7.cpp" +#include "LatestCompiledAssets/BinaryData8.cpp" +#include "LatestCompiledAssets/BinaryData9.cpp" +#include "LatestCompiledAssets/BinaryData10.cpp" +#include "LatestCompiledAssets/BinaryData11.cpp" +#include "LatestCompiledAssets/BinaryData12.cpp" +#include "LatestCompiledAssets/BinaryData13.cpp" +#include "LatestCompiledAssets/BinaryData14.cpp" diff --git a/melatonin_inspector.h b/melatonin_inspector.h index 2ee9e01..daee826 100644 --- a/melatonin_inspector.h +++ b/melatonin_inspector.h @@ -12,7 +12,7 @@ dependencies: juce_gui_basics, juce_gui_extra END_JUCE_MODULE_DECLARATION */ #pragma once -#include "LatestCompiledAssets/InspectorBinaryData.h" +#include "InspectorBinaryData.h" #include "melatonin/lookandfeel.h" #include "melatonin_inspector/melatonin/components/overlay.h" #include "melatonin_inspector/melatonin/helpers/inspector_settings.h" @@ -47,11 +47,11 @@ namespace melatonin return false; } }; - explicit Inspector (juce::Component& rootComponent, bool enabledAtStart = true) + explicit Inspector (juce::Component& rootComponent, bool inspectorEnabledAtStart = true) : juce::DocumentWindow ("Melatonin Inspector", colors::background, 7, true), - inspectorComponent (rootComponent, enabledAtStart), + inspectorComponent (rootComponent, inspectorEnabledAtStart), root (rootComponent), - enabled (enabledAtStart) + inspectorEnabled (inspectorEnabledAtStart) { setMouseClickGrabsKeyboardFocus (false); root.addAndMakeVisible (overlay); @@ -110,13 +110,13 @@ namespace melatonin settings->props->setValue ("x", getX()); settings->props->setValue ("y", getY()); - // only overwrite width/height when enabled. + // only overwrite width/height when inspectorEnabled. // the disabled dimensions are fixed, // so this lets us "open back up" when re-enabling - if (enabled) + if (inspectorEnabled) { - settings->props->setValue ("enabledWidth", getWidth()); - settings->props->setValue ("enabledHeight", getHeight()); + settings->props->setValue ("inspectorEnabledWidth", getWidth()); + settings->props->setValue ("inspectorEnabledHeight", getHeight()); } settings->saveIfNeeded(); @@ -125,17 +125,17 @@ namespace melatonin void restoreBoundsIfNeeded() { // disabled is a fixed 380x400 - // enabled must be at least 700x800 - auto minWidth = enabled ? 700 : 380; - auto minHeight = enabled ? 800 : 400; + // inspectorEnabled must be at least 700x800 + auto minWidth = inspectorEnabled ? 700 : 380; + auto minHeight = inspectorEnabled ? 800 : 400; auto x = settings->props->getIntValue ("x", 0); auto y = settings->props->getIntValue ("y", 0); - if (enabled) + if (inspectorEnabled) { - auto width = settings->props->getIntValue ("enabledWidth", minWidth); - auto height = settings->props->getIntValue ("enabledHeight", minHeight); + auto width = settings->props->getIntValue ("inspectorEnabledWidth", minWidth); + auto height = settings->props->getIntValue ("inspectorEnabledHeight", minHeight); setResizable (true, false); setResizeLimits (minWidth, minHeight, 1200, 1200); setBounds (x, y, width, height); @@ -154,7 +154,7 @@ namespace melatonin void outlineComponent (Component* c) { // don't dogfood the overlay - if (!enabled || overlay.isParentOf (c)) + if (!inspectorEnabled || overlay.isParentOf (c)) return; overlay.outlineComponent (c); @@ -163,7 +163,7 @@ namespace melatonin void outlineDistanceCallback (Component* c) { - if (!enabled || overlay.isParentOf (c)) + if (!inspectorEnabled || overlay.isParentOf (c)) return; overlay.outlineDistanceCallback (c); @@ -171,7 +171,7 @@ namespace melatonin void selectComponent (Component* c, bool collapseTree = true) { - if (!enabled || overlay.isParentOf (c)) + if (!inspectorEnabled || overlay.isParentOf (c)) return; overlay.selectComponent (c); @@ -180,7 +180,7 @@ namespace melatonin void dragComponent (Component* c, const juce::MouseEvent& e) { - if (!enabled || overlay.isParentOf (c)) + if (!inspectorEnabled || overlay.isParentOf (c)) return; overlay.dragSelectedComponent (e); @@ -189,7 +189,7 @@ namespace melatonin void startDragComponent (Component* c, const juce::MouseEvent& e) { - if (!enabled || overlay.isParentOf (c)) + if (!inspectorEnabled || overlay.isParentOf (c)) return; overlay.startDraggingComponent (e); @@ -216,7 +216,7 @@ namespace melatonin // the DocumentWindow always stays open, even when disabled setVisible (true); - enabled = newStatus; + inspectorEnabled = newStatus; overlay.setVisible (newStatus); inspectorComponent.toggle (newStatus); @@ -225,7 +225,7 @@ namespace melatonin void toggle() { - toggle (!enabled); + toggle (!inspectorEnabled); } std::function onClose; @@ -235,7 +235,7 @@ namespace melatonin melatonin::InspectorLookAndFeel inspectorLookAndFeel; melatonin::InspectorComponent inspectorComponent; juce::Component& root; - bool enabled; + bool inspectorEnabled; melatonin::Overlay overlay; melatonin::MouseListener mouseListener { root }; OpenInspector keyListener { *this }; @@ -256,7 +256,7 @@ namespace melatonin mouseListener.selectComponentCallback = [this] (Component* c) { this->selectComponent (c, true); }; mouseListener.componentStartDraggingCallback = [this] (Component* c, const juce::MouseEvent& e) { this->startDragComponent (c, e); }; mouseListener.componentDraggedCallback = [this] (Component* c, const juce::MouseEvent& e) { this->dragComponent (c, e); }; - mouseListener.mouseExitCallback = [this]() { if (this->enabled) inspectorComponent.redisplaySelectedComponent(); }; + mouseListener.mouseExitCallback = [this]() { if (this->inspectorEnabled) inspectorComponent.redisplaySelectedComponent(); }; inspectorComponent.selectComponentCallback = [this] (Component* c) { this->selectComponent (c, true); }; inspectorComponent.outlineComponentCallback = [this] (Component* c) { this->outlineComponent (c); }; diff --git a/tests/dummy.cpp b/tests/dummy.cpp new file mode 100644 index 0000000..dc902ff --- /dev/null +++ b/tests/dummy.cpp @@ -0,0 +1,55 @@ +#include + +//============================================================================== +class DummyApp : public juce::JUCEApplication +{ +public: + void initialise (const juce::String&) override + { + mainWindow.reset (new MainWindow (getApplicationName())); + inspector = std::make_unique (*mainWindow); + inspector->setVisible (true); + + // on CI, we start this as a background process + juce::Process::makeForegroundProcess(); + mainWindow->toFront(true); + } + + void shutdown() override + { + mainWindow = nullptr; + } + + const juce::String getApplicationName() override { return "dummy"; } + const juce::String getApplicationVersion() override { return "v1"; } + bool moreThanOneInstanceAllowed() override { return true; } + void systemRequestedQuit() override { quit(); } + + void anotherInstanceStarted (const juce::String&) override {} + + class MainWindow : public juce::DocumentWindow + { + public: + MainWindow (juce::String name) : DocumentWindow (name, + juce::Colours::lightgrey, + DocumentWindow::allButtons) + { + centreWithSize (300, 200); + setVisible (true); + } + + void closeButtonPressed() override + { + juce::JUCEApplication::getInstance()->systemRequestedQuit(); + } + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + std::unique_ptr mainWindow; + std::unique_ptr inspector; +}; + +START_JUCE_APPLICATION (DummyApp)